كيفية استخدام عنصر التحكم WebBrowser لفتح و قراءة مستندات Office

استعرض الموضوع السابق استعرض الموضوع التالي اذهب الى الأسفل

كيفية استخدام عنصر التحكم WebBrowser لفتح و قراءة مستندات Office

مُساهمة من طرف NEXT في السبت أبريل 04, 2015 2:53 pm

بسم الله الرحمن الرحيم 

عند التعامل مع مستندات Office قد ترغب في عرض هذه المستندات مباشرة في Visual Basic دون إستخدام الكائن OLE توضح هذه المقالة كيفية فتح و قراءة مستندات Office موجود وعرضه داخل Visual Basic باستخدام عنصر التحكم WebBrowser.


1_ قم بتشغيل Visual Basic وإنشاء مشروع قياسي جديد. يتم إنشاء Form1 بشكل افتراضي.

2_من القائمة Components قم بإضافة عنصر التحكم WebBrowser، CommonDialog، و CommandButton إلى Form1.
بعد ذلك، قم بإضافة التعليمة البرمجية التالية في إطار التعليمات البرمجية ل Form1:

_ فى قسم التصريحات نقوم بالاعلان عن كائن مستند على النحو التالى :

الرمز:
Dim oDocument As Object

_ فى حدث النقر على زر الامر نقوم بكتابة الكود التالى :

الرمز:
Private Sub Command1_Click()
   Dim sFileName As String
  

   With CommonDialog1
      .FileName = ""
      .ShowOpen
      sFileName = .FileName
   End With
  

   If Len(sFileName) Then
      Set oDocument = Nothing
      WebBrowser1.Navigate sFileName
   End If
End Sub

_ فى حدث التحميل للنافذة نقوم بكتابة الكود التالى :

الرمز:
Private Sub Form_Load()
   Command1.Caption = "Browse"
  
   With CommonDialog1
      .Filter = "Office Documents " & _
      "(*.doc, *.xls, *.ppt)|*.doc;*.xls;*.ppt"
      .FilterIndex = 1
      .Flags = cdlOFNFileMustExist Or cdlOFNHideReadOnly
   End With
End Sub

فى الكود أعلاه لفتح ملفات اوفس 2003 و مادون أما اذا اردت فتح ملفات اوفس 2007 فما فوق يمكنك استخدام الكود التالى :

الرمز:
    With CommonDialog1
    .Filter = "Office Documents " & _
      "(*.docx, *.xlsx, *.pptx)|*.docx;*.xlsx;*.pptx"

_ فى حدث NavigateComplete2 لعنصر التحكم WebBrowser نقوم بكتابة الكود التالى :

الرمز:
Private Sub WebBrowser1_NavigateComplete2(ByVal pDisp As Object, _
URL As Variant)
   On Error Resume Next
   Set oDocument = pDisp.Document

   MsgBox "File opened by: " & oDocument.Application.Name
End Sub

ما يجب مراعاتها عند استخدام عنصر التحكم WebBrowser في فتح مستندات أوفيس 2007


  • انتقال عنصر التحكم WebBrowser بشكل غير متزامن إلى المستندات. وهذا يعني أن المكالمة إرجاع عنصر التحكم إلى تطبيق Visual Basic قبل أن يتم تحميل المستند بالكامل. يحدث هذا عند استدعاء WebBrowser1.Navigate. إذا كنت تخطط لأتمتة المستند المضمنة استخدام الحدث NavigateComplete2 بحيث ستعرف عندما ينتهي تحميل المستند. استخدام خصائص المستند كائن WebBrowser للحصول على مرجع إلى كائن مستند Office. في التعليمات البرمجية السابقة، يتم تعيين إشارة إلى oDocument.



  • تحدث العديد من المشكلات المعروفة عندما يكون لديك أكثر من عنصر تحكم WebBrowser في مشروعك ويتم تحميل كل عنصر تحكم بنفس نوع مستند Office. وهذا هو، يحتوي كل عنصر تحكم كافة مستندات Word أو كافة مستندات إكسل. لذلك أنصح باستخدام عنصر تحكم واحد فقط لكل مشروع والتي تنتقل إلى وثيقة واحدة في وقت واحد.



  • لمسح المحتوى الحالي من WebBrowser استخدام التعليمات البرمجية التالية :


الرمز:
WebBrowser1.Navigate "about:blank"

ما يجب مراعاتها عند استخدام عنصر التحكم WebBrowser  فى فتح مستندات Office 2003 وفي الإصدارات السابقة منه


  • عنصر التحكم WebBrowser لا يدعم دمج القائمة ...بمعنى لاتظهر قوائم مستند الاوفس لذلك إذا كنت بحاجة إلى ظهور القائمة المستند تظهر مع القائمة Visual Basic الخاص بك، يجب استخدام عنصر تحكم حاوية OLE بدلا من ذلك.



  • عنصر التحكم WebBrowser يخفي عموما اشرطة التمرير الرائسية و الافقية . ومع ذلك يمكنك اظهارة باستخدام الكود التالى :


الرمز:
With oDocument.Application.CommandBars("Standard")
      .Position = 4 '[msoBarFloating]
      .Visible = True
   End With

NEXT
الادارة
الادارة

تاريخ التسجيل : 18/02/2011
المساهمات : 262
النقاط : 378
التقيم : 10
الجنس : ذكر

الرجوع الى أعلى الصفحة اذهب الى الأسفل

رد: كيفية استخدام عنصر التحكم WebBrowser لفتح و قراءة مستندات Office

مُساهمة من طرف RANA في الإثنين أبريل 20, 2015 8:32 pm


شطرا جزيلا

RANA
....
....

تاريخ التسجيل : 01/08/2013
المساهمات : 64
النقاط : 103
التقيم : 1
الدولة : فلسطين
الجنس : انثى

الرجوع الى أعلى الصفحة اذهب الى الأسفل

استعرض الموضوع السابق استعرض الموضوع التالي الرجوع الى أعلى الصفحة


 
صلاحيات هذا المنتدى:
لاتستطيع الرد على المواضيع في هذا المنتدى