منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
[VB.NET] فتح ملف وورد - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم لغة الفيجوال بيسك VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=182)
+--- قسم : قسم اسئلة VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=183)
+--- الموضوع : [VB.NET] فتح ملف وورد (/showthread.php?tid=52759)

الصفحات: 1 2 3


RE: فتح ملف وورد - princelovelorn - 02-05-25

(02-05-25, 05:18 PM)1albasha كتب :
PHP كود :
Public Class Form1

    Sub OpenWordDocument
()
 
       Dim filePathD As String "D:\all\4.docx"
 
       Dim filePathH As String "H:\all\4.docx"
 
       Dim filePathe As String "e:\all\4.docx"
 
       Dim filePathc As String "c:\all\4.docx"
 
       Dim filePathg As String "g:\all\4.docx"
 
       If File.Exists(filePathDThen
            Process
.Start(filePathD)
 
       ElseIf File.Exists(filePathHThen
            Process
.Start(filePathH)
 
       ElseIf File.Exists(filePathcThen
            Process
.Start(filePathc)
 
       ElseIf File.Exists(filePatheThen
            Process
.Start(filePathe)
 
       ElseIf File.Exists(filePathgThen
            Process
.Start(filePathg)
 
       Else
            MessageBox
.Show("الملف المطلوب غير موجود على اي قرص""خطأ"MessageBoxButtons.OKMessageBoxIcon.ErrorMessageBoxDefaultButton.Button1MessageBoxOptions.RightAlign)
 
       End If




 
   End Sub
بقدر اختصر هذا الكود لو سمحتم 


نعم يمكنك ذلك وخصوصا لو اسم الملف بيكون متغير 
تقدر تعملها دالة من سطر واحد تكتب اسم الملف فقط 
جرب الأكواد التالية
كود :
Imports System.IO

Public Class Form1

   ' أكتب هنا المسارات كاملة اللى ممكن تستخدمها بدون اسم الملف
   Private Shared ReadOnly searchPaths As String() = {
       "C:\all\",
       "D:\all\",
       "E:\all\",
       "F:\all\",
       "G:\all\"
   }

    ' الدالة المستخدمة
   Public Shared Function OpenFileFromPaths(fileName As String) As Boolean
       For Each path In searchPaths
           Dim fullPath As String = Path.Combine(path, fileName)
           If File.Exists(fullPath) Then
               Process.Start(fullPath)
               Return True ' تم العثور على الملف وتشغيله
           End If
       Next
       Return False  ' لم يتم العثور على الملف في أي من المسارات
   End Function

   Sub OpenWordDocument(fileName As String)
       If Not OpenFileFromPaths(fileName) Then
           MessageBox.Show("الملف المطلوب غير موجود على أي قرص", "خطأ", MessageBoxButtons.OK, MessageBoxIcon.Error, MessageBoxDefaultButton.Button1, MessageBoxOptions.RightAlign)
       End If
   End Sub

   ' طريقة الاستخدام:
   Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
       OpenWordDocument("4.docx") ' اسم الملف المراد البحث عنه
   End Sub

End Class
 
وتقدر تضع الأكواد في موديل  وتستخدم الدالة من اي نافذة في البرنامج


RE: فتح ملف وورد - 1albasha - 03-05-25

Path.Combine
اخي عم يعطيني خطا بهذه الكلمة


RE: فتح ملف وورد - princelovelorn - 04-05-25

(03-05-25, 05:20 PM)1albasha كتب : Path.Combine
اخي عم يعطيني خطا بهذه الكلمة

تصحيح الخطأ 
استبدل السطر التالي 
كود :
 For Each path In searchPaths


بالسطر التالي

كود :
 For Each searchPath In searchPaths


وفي السطر التالي اجعل حرف ال P في كلمة Path كابيتل وليس سمول
هكذا
كود :
   Dim fullPath As String = Path.Combine(searchPath, fileName)


وحدث خطأ لانه هناك تعريف في الدالة لكلمة محجوز ولذلك اصبح يوجد تعارض بينهم

ولقد قمت بالتجربة وفتح ملف معي بنجاح والحمد لله

تم اضافة المثال بعد التعديل في المرفقات


RE: فتح ملف وورد - 1albasha - 07-05-25

اخي الكريم هذ ا تمام بالنسبة لفتح ملف 
هل يمكن لفتح مسار مجلد ايضا بنفس الزر بوتن او زر اخر  
ياريت المساعدة


RE: فتح ملف وورد - princelovelorn - 07-05-25

(07-05-25, 12:59 AM)1albasha كتب : اخي الكريم هذ ا تمام بالنسبة لفتح ملف 
هل يمكن لفتح   مسار مجلد ايضا بنفس الزر بوتن او زر اخر  
ياريت المساعدة

مرفق المثال فيه 3 طرق مختلفة لنفس الفكرة
أختر ما يناسبك منهم أخي الكريم


RE: فتح ملف وورد - 1albasha - 07-05-25

PHP كود :
D:\all\الطيبة مرقم\
كنت ارغب كما فعلنا في فتح ملف اذا لم يجده في قرص يبحث عنه في الاقراص الاخرى
وهنا هذا المسار للمجلد اذا لم يجده في D يبحث عنه في E ثم G تماما كما فعلن في فتح ملف اي يبحث عن المجلد في كل الاقراص


RE: فتح ملف وورد - princelovelorn - 07-05-25

(07-05-25, 01:13 PM)1albasha كتب :
PHP كود :
D:\all\الطيبة مرقم\
كنت ارغب كما فعلنا في فتح ملف اذا لم يجده في قرص يبحث عنه في الاقراص الاخرى
وهنا هذا المسار للمجلد اذا لم يجده في D يبحث عنه في E ثم G تماما كما فعلن في فتح ملف اي يبحث عن المجلد في كل الاقراص

أستخدم الأكواد التالية

كود :
   ' أكتب هنا المسارات كاملة اللى ممكن تستخدمها
   Private Shared ReadOnly Folder_Path As String() = {
       "C:\ALL\1\الطيبة مرقم\",
       "D:\ALL\1\الطيبة مرقم\",
       "E:\ALL\1\الطيبة مرقم\",
       "F:\ALL\1\الطيبة مرقم\",
       "G:\ALL\1\الطيبة مرقم\"
   }

   Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
       OpenFolderPath()
   End Sub

   Public Shared Function OpenFolderPath() As Boolean
       For Each search_f_Path As String In Folder_Path
           Dim fullPath As String = search_f_Path
           If Directory.Exists(fullPath) Then
               Process.Start(fullPath)
               Return True ' تم العثور على المجلد وفتحه
           End If
       Next
       Return False ' لم يتم العثور على المجلد في أي من المسارات
   End Function



RE: فتح ملف وورد - EMADW - 07-05-25

اخي الكريم شكرا لك على هذا الكود هنا يبحث عن المجلد بكافة الاقراص  تباعا 
لكن ماذا افعل لو كان يبحث لي مثلا عن D:all.k  لكن ضمن مجلد kيوجد عدد كبير من المجلدات مثل nوvوf اريد ان اضع اسم احد المجلدات الموجود في k  مثل vضمن تكست بوكس  فيقوم بالبحث في جميع الاقراص عن المسار المطلوب بالاضافة للمجلدv الموجود ضمن k والذي كتبت اسمه ضمن التكست
يعني اريد ان اكتب في التكست اسم المجلد الذي اريد فتحه فقط


RE: فتح ملف وورد - Kamil - 07-05-25

هل قرأتم هذا الموضوع

http://vb4arb.com/vb/showthread.php?tid=52985


RE: فتح ملف وورد - princelovelorn - 07-05-25

(07-05-25, 10:29 PM)EMADW كتب : اخي الكريم شكرا لك على هذا الكود هنا يبحث عن المجلد بكافة الاقراص  تباعا 
لكن ماذا افعل لو كان يبحث لي مثلا عن D:all.k  لكن ضمن مجلد kيوجد عدد كبير من المجلدات مثل nوvوf اريد ان اضع اسم احد المجلدات الموجود في k  مثل vضمن تكست بوكس  فيقوم بالبحث في جميع الاقراص عن المسار المطلوب بالاضافة للمجلدv الموجود ضمن k والذي كتبت اسمه ضمن التكست
يعني اريد ان اكتب في التكست اسم المجلد الذي اريد فتحه فقط

الشكر لله والفضل لله

تفضل الأكواد
كل ما عليك اكتب اسم المجلد في TEXTBOX1
كود :
   ' أكتب هنا المسارات كاملة اللى ممكن تستخدمها
   Private Shared ReadOnly Folder_Path2 As String() = {
       "C:\ALL\1\",
       "D:\ALL\1\",
       "E:\ALL\1\",
       "F:\ALL\1\",
       "G:\ALL\1\"
   }


   Public Shared Function OpenFolderPath2(FOLDERNAME As String) As Boolean
       For Each search_f_Path2 As String In Folder_Path2
           Dim fullPath2 As String = search_f_Path2 & FOLDERNAME & "\"
           If Directory.Exists(fullPath2) Then
               Process.Start(fullPath2)
               Return True ' تم العثور على المجلد وفتحه
           End If
       Next
       Return MsgBox("المسار غير موجود") ' لم يتم العثور على المجلد في أي من المسارات
   End Function


   Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
       OpenFolderPath2(TextBox1.Text)
   End Sub

(07-05-25, 10:39 PM)Kamil كتب : هل قرأتم هذا الموضوع

http://vb4arb.com/vb/showthread.php?tid=52985

نعم أخي لقد قرأته بارك الله فيك

ولكن الأخ يريد الأن فتح مجلدات وليس ملفات