فتح ملف وورد - EMADW - 19-04-25
- Process.start("D\all\mn.docx")استخدم هذا الكود لفتح كتاب وورد اسمه mn موجود على قرص d ضمن مجلد اسمه allكيف بقدر بحال لم يجد المجلد all على القرص d ياتي به من الفلاشة hيعني بحال لم يجده في d ياتي به من h
RE: فتح ملف وورد - Kamil - 19-04-25
يمكنك استخدام كود يتحقق أولًا من وجود الملف في المسار الأساسي (D:\all\mn.docx) وإذا لم يكن موجودًا، يحاول فتح الملف من الفلاشة (مثلًا H:\all\mn.docx).
إليك الطريقة:
PHP كود :
Imports System.IO Imports System.Diagnostics
Sub OpenWordDocument() Dim filePathD As String = "D:\all\mn.docx" Dim filePathH As String = "H:\all\mn.docx"
If File.Exists(filePathD) Then Process.Start(filePathD) ElseIf File.Exists(filePathH) Then Process.Start(filePathH) Else MessageBox.Show("الملف غير موجود على القرص D أو الفلاشة H", "خطأ", MessageBoxButtons.OK, MessageBoxIcon.Error, MessageBoxDefaultButton.Button1, MessageBoxOptions.RightAlign) End If End Sub
وإذا أردت أن يبحث حتى في D: ضمن حلقة الأقراص:
يمكنك تعديل الكود بحيث يتحقق من كل الأقراص، بما فيها D: .
PHP كود :
Imports System.IO Imports System.Diagnostics
Sub OpenWordDocument() For Each drive As DriveInfo In DriveInfo.GetDrives() If drive.IsReady AndAlso (drive.DriveType = DriveType.Removable OrElse drive.DriveType = DriveType.Fixed) Then Dim path As String = Path.Combine(drive.Name, "all\mn.docx") If File.Exists(path) Then Process.Start(path) Exit Sub End If End If Next
MessageBox.Show("الملف mn.docx غير موجود في أي قرص.", "خطأ", MessageBoxButtons.OK, MessageBoxIcon.Error, MessageBoxDefaultButton.Button1, MessageBoxOptions.RightAlign) End Sub
هكذا:
RE: فتح ملف وورد - EMADW - 19-04-25
اخي الكريم لم يعمل معي هذا الكود لا اعرف اين المشكلة
RE: فتح ملف وورد - Kamil - 19-04-25
هل وضعت الكود المرفق في زر
RE: فتح ملف وورد - EMADW - 19-04-25
اذا في مجال ترفق الكود بمشروع لان جربت كل الاحتمالات وما اشتغل معي الكود
RE: فتح ملف وورد - Kamil - 19-04-25
تم تجربة المثال على جهازي
الملف موجود في ميموري كارد موصولة بالجهاز
قم بتجربته
RE: فتح ملف وورد - EMADW - 20-04-25
شكرا الك اخي الكريم الكود يعمل بشكل صحيح لكن ضمن مشروعي عندي اكثر من عشرة ازرار كل زر يفتح لي مستند وورد مختلف عن الاخر وكلهم ضمن مجلد all
كما هو موضح بمشروعي المرفق ياريت المساعدة
RE: فتح ملف وورد - Kamil - 20-04-25
كل ما عليك ان تفعله هو تبديل اسم الملف مثلا من mn إلى hj و ساحاول عند عودتي من العمل انشاء ملف كلاس لمنع تكرار الاكواد
RE: فتح ملف وورد - Kamil - 20-04-25
في المثال المرفق استخدمت تكست بوكس تكتب به اسم الملف الذي تريد فتحه
واستخدمت كلاس
تضع في الفورم
PHP كود :
Imports System.IO Public Class Form1 Private Sub btnOpenDoc_Click(sender As Object, e As EventArgs) Handles btnOpenDoc.Click Dim fileName As String = TxtFileName.Text.Trim() WordFileOpener.OpenWordDocument(fileName) End Sub
End Class
تضع في الكلاس
PHP كود :
Imports System.IO Imports System.Diagnostics
Public Class WordFileOpener Public Shared Sub OpenWordDocument(fileName As String) If String.IsNullOrWhiteSpace(fileName) Then MessageBox.Show("يرجى إدخال اسم الملف.", "تنبيه", MessageBoxButtons.OK, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button1, MessageBoxOptions.RightAlign) Return End If
' تأكد من أن الاسم ينتهي بـ .docx If Not fileName.ToLower().EndsWith(".docx") Then fileName &= ".docx" End If
For Each drive As DriveInfo In DriveInfo.GetDrives() If drive.IsReady AndAlso (drive.DriveType = DriveType.Removable OrElse drive.DriveType = DriveType.Fixed) Then Dim path As String = IO.Path.Combine(drive.Name, "all", fileName) If File.Exists(path) Then Process.Start(path) Exit Sub End If End If Next
MessageBox.Show("الملف " & fileName & " غير موجود في أي قرص.", "خطأ", MessageBoxButtons.OK, MessageBoxIcon.Error, MessageBoxDefaultButton.Button1, MessageBoxOptions.RightAlign) End Sub End Class
واذا كنت تريد فتح اي نوع من الملفات اتبع الاتي
في الكلاس تكتب الآتي
PHP كود :
Imports System.IO Imports System.Diagnostics
Public Class FileOpener Public Shared Sub OpenDocument(fileName As String, fileExtension As String) If String.IsNullOrWhiteSpace(fileName) OrElse String.IsNullOrWhiteSpace(fileExtension) Then MessageBox.Show("يرجى إدخال اسم الملف ونوع الامتداد.", "تنبيه", MessageBoxButtons.OK, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button1, MessageBoxOptions.RightAlign) Return End If
' تأكد من وجود النقطة في الامتداد If Not fileExtension.StartsWith(".") Then fileExtension = "." & fileExtension End If
Dim fullFileName As String = fileName & fileExtension
For Each drive As DriveInfo In DriveInfo.GetDrives() If drive.IsReady AndAlso (drive.DriveType = DriveType.Removable OrElse drive.DriveType = DriveType.Fixed) Then Dim path As String = IO.Path.Combine(drive.Name, "all", fullFileName) If File.Exists(path) Then Process.Start(path) Exit Sub End If End If Next
MessageBox.Show("الملف " & fullFileName & " غير موجود في أي قرص.", "خطأ", MessageBoxButtons.OK, MessageBoxIcon.Error, MessageBoxDefaultButton.Button1, MessageBoxOptions.RightAlign) End Sub End Class
في الفورم تكتب الآتي
PHP كود :
Private Sub BtnOpenFile_Click(sender As Object, e As EventArgs) Handles BtnOpenFile.Click Dim fileName As String = TxtFileName.Text.Trim() Dim extension As String = TxtExtension.Text.Trim() FileOpener.OpenDocument(fileName, extension) End Sub
واذا اردت يمكن استخدام OpenFileDialog
كالآتي
PHP كود :
Imports System.IO Imports System.Diagnostics Imports System.Windows.Forms
Public Class FileOpener
' فتح ملف بالاسم والامتداد من مجلد all في جميع الأقراص Public Shared Sub OpenDocument(fileName As String, fileExtension As String) If String.IsNullOrWhiteSpace(fileName) OrElse String.IsNullOrWhiteSpace(fileExtension) Then MessageBox.Show("يرجى إدخال اسم الملف ونوع الامتداد.", "تنبيه", MessageBoxButtons.OK, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button1, MessageBoxOptions.RightAlign) Return End If
If Not fileExtension.StartsWith(".") Then fileExtension = "." & fileExtension End If
Dim fullFileName As String = fileName & fileExtension
For Each drive As DriveInfo In DriveInfo.GetDrives() If drive.IsReady AndAlso (drive.DriveType = DriveType.Removable OrElse drive.DriveType = DriveType.Fixed) Then Dim path As String = IO.Path.Combine(drive.Name, "all", fullFileName) If File.Exists(path) Then Process.Start(path) Exit Sub End If End If Next
MessageBox.Show("الملف " & fullFileName & " غير موجود في أي قرص.", "خطأ", MessageBoxButtons.OK, MessageBoxIcon.Error, MessageBoxDefaultButton.Button1, MessageBoxOptions.RightAlign) End Sub
' فتح الملف يدويًا باستخدام OpenFileDialog Public Shared Sub OpenFileWithDialog() Dim ofd As New OpenFileDialog() ofd.Title = "اختر ملفًا" ofd.Filter = "ملفات Word|*.docx|ملفات PDF|*.pdf|كل الملفات|*.*"
If ofd.ShowDialog() = DialogResult.OK Then Try Process.Start(ofd.FileName) Catch ex As Exception MessageBox.Show("حدث خطأ أثناء فتح الملف: " & ex.Message, "خطأ", MessageBoxButtons.OK, MessageBoxIcon.Error, MessageBoxDefaultButton.Button1, MessageBoxOptions.RightAlign) End Try End If End Sub
End Class
زر لفتح الملف تلقائيًا بالاسم والامتداد:
PHP كود :
Private Sub BtnOpenByName_Click(sender As Object, e As EventArgs) Handles BtnOpenByName.Click Dim fileName As String = TxtFileName.Text.Trim() Dim extension As String = TxtExtension.Text.Trim() FileOpener.OpenDocument(fileName, extension) End Sub
زر لفتح الملف يدويًا عن طريق اختيار من الجهاز:
PHP كود :
Private Sub BtnOpenByDialog_Click(sender As Object, e As EventArgs) Handles BtnOpenByDialog.Click FileOpener.OpenFileWithDialog() End Sub
RE: فتح ملف وورد - 1albasha - 02-05-25
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(filePathD) Then Process.Start(filePathD) ElseIf File.Exists(filePathH) Then Process.Start(filePathH) ElseIf File.Exists(filePathc) Then Process.Start(filePathc) ElseIf File.Exists(filePathe) Then Process.Start(filePathe) ElseIf File.Exists(filePathg) Then Process.Start(filePathg) Else MessageBox.Show("الملف المطلوب غير موجود على اي قرص", "خطأ", MessageBoxButtons.OK, MessageBoxIcon.Error, MessageBoxDefaultButton.Button1, MessageBoxOptions.RightAlign) End If
End Sub بقدر اختصر هذا الكود لو سمحتم
|