منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : كود عرص ملف الوورد داخل أدات WebBrowser
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
السلام عليكم ورحمة الله وبركاته


احببت اشارك معكم هذا الكود لعرض ملف الوورد داخل ادات WebBrowser

اولا الكود 
كود :
Public Sub ssss()
  Dim fileName1 As String
        Dim ofd As New OpenFileDialog
        ofd.Title = "اختر الملف"
        If ofd.ShowDialog = DialogResult.OK Then
            fileName1 = ofd.FileName
        Else
            Exit Sub
        End If

        Dim typeWord As Type = Type.GetTypeFromProgID("Word.Application")
        Dim WordApp As Object = Activator.CreateInstance(typeWord)
        Dim htmlFormat As Integer = 8
        Dim Docpath As Object() = {fileName1}
        Dim HtmPath As Object() = {Application.StartupPath & "\WordDoc.HTML", htmlFormat}
        Dim WordDocs As Object = typeWord.InvokeMember("Documents", Reflection.BindingFlags.GetProperty, Nothing, WordApp, Nothing)
        Dim doc As Object = WordDocs.GetType.InvokeMember("Open", Reflection.BindingFlags.InvokeMethod, Nothing, WordDocs, Docpath)
        doc.GetType.InvokeMember("SaveAs", Reflection.BindingFlags.InvokeMethod, Nothing, doc, HtmPath)
        WordApp.quit()
        WebBrowser1.Visible = True
        WebBrowser1.Navigate(HtmPath(0))
   End Sub
وعليكم السلام ورحمة الله وبركاته، شكرًا لك على مشاركة الكود. يبدو أن الكود يقوم بفتح ملف Word وتحويله إلى ملف HTML، ثم يعرض الملف المحول في عنصر التحكم WebBrowser. لا يبدو أن هناك أخطاء بارزة في الكود، ولكن هناك بعض النقاط التي يمكن تحسينها. على سبيل المثال:


  1. يفضل استخدام "Using" statement لتحرير الموارد بشكل صحيح في حالة حدوث خطأ أثناء تشغيل البرنامج
  2. يمكن تحسين نطاق المتغيرات وتحديد النوع مباشرةً.
  3. من الأفضل استخدام مؤشرات على الخصائص والأساليب بدلاً من Reflection.
  4. يفضل التحقق من وجود ملفات Word وتحميلها قبل استخدامها.
  5. يمكن تحسين التعليقات والوصف لتوضيح كيفية عمل الكود.
إليك الكود مع التحسينات المقترحة:

كود :
Public Sub DisplayWordDocumentInWebBrowser()
   Using ofd As New OpenFileDialog()
       ofd.Title = "اختر الملف"
       If ofd.ShowDialog() = DialogResult.OK Then
           Dim fileName1 As String = ofd.FileName

           ' التحقق من وجود تثبيت Word
           If Type.GetTypeFromProgID("Word.Application") Is Nothing Then
               MessageBox.Show("يجب تثبيت Word على جهاز الكمبيوتر الخاص بك لاستخدام هذه الميزة.")
               Exit Sub
           End If

           ' فتح Word وتحويل الملف إلى HTML
           Dim typeWord As Type = Type.GetTypeFromProgID("Word.Application")
           Dim wordApp As Object = Activator.CreateInstance(typeWord)
           Dim htmlFormat As Integer = 8
           Dim docPath As Object() = {fileName1}
           Dim htmlPath As Object() = {Application.StartupPath & "\WordDoc.HTML", htmlFormat}
           Dim wordDocs As Object = wordApp.GetType().InvokeMember("Documents", Reflection.BindingFlags.GetProperty, Nothing, wordApp, Nothing)
           Dim doc As Object = wordDocs.GetType().InvokeMember("Open", Reflection.BindingFlags.InvokeMethod, Nothing, wordDocs, docPath)
           doc.GetType().InvokeMember("SaveAs", Reflection.BindingFlags.InvokeMethod, Nothing, doc, htmlPath)
           wordApp.GetType().InvokeMember("Quit", Reflection.BindingFlags.InvokeMethod, Nothing, wordApp, Nothing)

           ' عرض الملف المحول في عنصر التحكم WebBrowser
           WebBrowser1.Visible = True
           WebBrowser1