أنت غير متصل حاليًا، وفي انتظار الإنترنت الخاص بك ليقوم بإعادة الاتصال

كيفية استخدام مكونات ActiveX VB التنفيذ التلقائي Word من Internet Explorer

هام: تمت ترجمة هذا المقال باستخدام برنامج ترجمة آلية لشركة مايكروسوفت بدلاً من الاستعانة بمترجم بشري. تقدم شركة مايكروسوفت كلاً من المقالات المترجمة بواسطة المترجمين البشر والمقالات المترجمة آليًا وبالتالي ستتمكن من الوصول إلى كل المقالات الموجودة في قاعدة المعرفة الخاصة بنا وباللغة الخاصة بك. بالرغم من ذلك، فإن المقالة المترجمة آليًا لا تكون دقيقة دائمًا وقد تحتوي على أخطاء إملائية أو لغوية أو نحوية، مثل تلك الأخطاء الصادرة عن متحدث أجنبي عندما يتحدث بلغتك. لا تتحمل شركة مايكروسوفت مسئولية عدم الدقة أو الأخطاء أو الضرر الناتج عن أية أخطاء في ترجمة المحتوى أو استخدامه من قبل عملائنا. تعمل شركة مايكروسوفت باستمرار على ترقية برنامج الترجمة الآلية

اضغط هنا لرابط المقالة باللغة الانجليزية286023
الموجز
توضح هذه المقالة كيفية استخدام ActiveX المكون العميل التنفيذ من Word من صفحة ويب التي يتم تقديمها في Internet Explorer. هناك عدة فوائد استخدام مكون ActiveX من صفحة ويب بدلاً من برنامج نصي مضمن في صفحة ويب نفسه:
  • إذا كان لديك بالفعل التعليمات البرمجية لـ Visual Basic الذي يجعل Microsoft Word يمكنك إعادة استخدام التعليمة البرمجية الخاصة بك في المستعرض عن طريق تحويل مشروع Visual Basic على EXE ActiveX أو DLL ActiveX.
  • لم يتم Word وضع علامة آمن للبرمجة. اعتماداً على إعدادات الأمان في Internet Explorer قد لا يتم تشغيل التعليمات البرمجية التنفيذ Word في البرنامج النصي أو قد تتم مطالبة المستخدم مع تحذير أمان. بالافتراض أن يفي مكوّن ActiveX إرشادات معينة, فإنه قد يتم وضع علامة آمن للبرمجة لتجنب مشاكل الأمان هذه.
  • يحتوي Visual Basic العديد من الميزات التي لا تستخدمها مع البرنامج النصي في صفحة ويب. على سبيل المثال، واحد الميزة التي توفر Visual Basic ولكن ليس إلى البرنامج النصي صفحة ويب وهي القدرة على استدعاء واجهة برمجة التطبيقات "Windows" (API).
سيناريو مطور شائعة لتقديم المستخدمين مع واجهة صفحة ويب لإنشاء مستند Word باستخدام بيانات من مصدر خارجي أو منطق بعض. على الرغم من أنه يمكنك استخدام أتمتة Word من جانب الملقم لإنشاء المستند و الدفق مرة أخرى إلى العميل, هناك العديد من عيوب استخدام أسلوب من جانب الملقم تتضمن التنفيذ Word. ويعتبر العيب الرئيسي هو قابلية التحجيم ؛ Word ملقم أتمتة جداً موارد بشكل كبير غير مستحسن إنشاء المستند على ملقم ويب.

باستخدام أحد مكونات ActiveX لتنفيذ إنشاء المستند لدى العميل يمكنك نقل التنفيذ Word الموارد بشكل كبير بعيدًا عن ملقم ويب. هذا هو الحل الذي يعرضها مكوّن ActiveX نموذج الموضح في هذه المقالة. على الرغم من أن تكون العينة معينة التنفيذ Word قد يتم تطبيق المبادئ نفس لأتمتة Microsoft Office الأخرى التطبيقات، مثل Microsoft Excel.
معلومات أخرى

تحميل في نموذج

AutoWord.exe يحتوي على مشروع Visual Basic ActiveX DLL Word المستندات وصفحات ويب التي تم وصفها في هذه المقالة.

يتوفر الملف التالي للتنزيل من "مركز التنزيل لـ Microsoft":
تاريخ الإصدار:, 17 أبريل 2001

للحصول على معلومات إضافية حول كيفية تنزيل ملفات دعم Microsoft "، انقر فوق رقم المقالة التالي لعرضها في" قاعدة المعارف لـ Microsoft:
119591كيفية الحصول على ملفات دعم Microsoft من الخدمات عبر الإنترنت
قامت Microsoft بفحص هذا الملف بحثًا عن الفيروسات. استخدام Microsoft أحدث من برنامج كشف الفيروس المتوفر على التاريخ الذي تم نشر الملف. يتم تخزين الملف على ملقمات محسنة الأمان التي تساعد على منع إجراء أية تغييرات غير مصرح بها على الملف.

إعداد في نموذج

بعد تنزيل Autoword.exe اتبع هذه الخطوات لإعداد النموذج:
  1. إنشاء مجلد باسم "فاتورة" في الدليل الجذر الظاهري لملقم ويب. (الدليل الجذر الظاهري الافتراضي هو C:\Inetpub\Wwwroot.)
  2. استخراج الملفات في Autoword.exe فاتورة المجلد.
  3. لفتح Autoword1.htm في النص أو محرر HTML واستبدال مراجع YourWebServer في كافة URL مع اسم ملقم ويب. وبالمثل، استبدال YourSQLServer في سلسلة الاتصال مع اسم جهاز SQL Server الذي يحتوي على قاعدة بيانات نموذج Northwind.

    ملاحظة: إذا لم يكن لديك المتوفرة SQL Server مع Northwind نموذج قاعدة بيانات ، يمكنك تعديل سلسلة الاتصال لاستخدام نموذج قاعدة بيانات Microsoft Access Northwind بدلاً من ذلك. اتصال إلى Northwind Access قاعدة بيانات نموذج لما يلي: sConn
    sConn = "provider=microsoft.jet.oledb.4.0; data source=" & _        "C:\Program Files\Microsoft Office\Office10\Samples\Northwind.mdb"					
  4. لفتح Autoword2.htm في النص أو محرر HTML واستبدال مراجع YourWebServer في كافة URL مع اسم ملقم ويب.
  5. بدء تشغيل Internet Explorer. يمكنك استعراض http://YourWebServer/invoice/AutoWord1.htm و http://YourWebServer/invoice/AutoWord2.htm اختبار البرنامج النصي. عندما تقوم أولاً بزيارة أي من هذه الصفحات ، تتم مطالبتك بتنزيل في ActiveX المكون.
يتم وصف مكوّن ActiveX Visual Basic نموذج والبرنامج النصي بالتفصيل في الأقسام التالية.

مكون ActiveX Visual Basic

مكوّن ActiveX Visual Basic في هذه العينة تتفاعل مع البرنامج النصي صفحة ويب لإنشاء مستند فاتورة ترتيب في طلب المستخدم. قد تسمح تطبيق ويب على مكونات ActiveX للحصول على معلومات ترتيب لمعرف ترتيب معطاة أو قد اختيار تطبيق ويب حزمة معلومات الطلب كـ XML وإرسالها إلى مكون ActiveX معالجة. في كلتا الحالتين، بعد حصول المكون على معلومات الطلب فإنه يمكن أتمتة Word إنشاء مستند الفاتورة لترتيب وعرض.

مكوّن ActiveX (AutomateWord) يحتوي على فئة واحدة فئة فاتورة الذي يعرض ثلاث طرق:
  • يستخدم أسلوب GetData كائنات بيانات ActiveX (ADO) لاستخراج معلومات حول ترتيب في نموذج قاعدة بيانات Northwind. يتم تخزين معلومات ترتيب في متغير عضو خاص m_Data. يمكن استدعاء الأسلوب GetData للسماح استخراج البيانات تحدث العميل.
  • يستخدم أسلوب SendData Microsoft XML (MSXML) لتعبئة متغير عضو خاص m_Data مع معلومات الطلب التي تم توفيرها من قبل الطالب. يتوقع SendData معلمة واحدة الذي يمثل كائن DOMDocument للحصول على معلومات ترتيب. يمكن استدعاء الأسلوب SendData لإرسال معلومات الطلب من صفحة ويب إلى المكون. يمكن استخدام ASP مع هذا الأسلوب استخراج الملقم البيانات من الجانب العميل وتقديمها مع جزيرة بيانات XML التي يمكن استخدامها من أجل إنشاء المستند.
  • يستخدم أسلوب MakeInvoice التنفيذ Word لإنشاء مستند يحتوي على معلومات ترتيب في متغير عضو خاص m_Data. مستند مخزن على ويب يتم استخدام ملقم كنقطة الفاتورة. قد تختار المتصل لعرض مستند Word المكتملة خارج المستعرض أو حفظ المستند المكتملة إلى قرص لاستخدامها لاحقاً.
Invoice.cls
Option ExplicitPrivate Type InvoiceData    OrderID As String    OrderDate As Date    CustID As String    CustInfo As String    ProdInfo As VariantEnd TypePrivate m_Data As InvoiceDataPublic Sub GetData(sOrderID As Variant, sConn As Variant)    Dim oConn As Object, oRS As Object        'Connect to the Northwind database.    Set oConn = CreateObject("ADODB.Connection")    oConn.Open sConn        'Obtain the Customer ID and Order Date.    Set oRS = CreateObject("ADODB.Recordset")    oRS.Open "Select [OrderDate], [CustomerID] from Orders where " & _             "[OrderID]=" & sOrderID, oConn, 3 'adOpenStatic=3    m_Data.OrderID = sOrderID    m_Data.OrderDate = CDate(oRS.Fields("OrderDate").Value)    m_Data.CustID = oRS.Fields("CustomerID").Value    oRS.Close        'Obtain Customer information.    Set oRS = CreateObject("ADODB.Recordset")    oRS.Open "Select * from Customers Where CustomerID='" & _             m_Data.CustID & "'", oConn, 3 'adOpenStatic=3    m_Data.CustInfo = oRS.Fields("CompanyName").Value & vbCrLf & _                      oRS.Fields("City") & " "    If Not (IsNull(oRS.Fields("Region"))) Then       m_Data.CustInfo = m_Data.CustInfo & oRS.Fields("Region").Value & " "    End If    m_Data.CustInfo = m_Data.CustInfo & oRS.Fields("PostalCode").Value & _                      vbCrLf & oRS.Fields("Country").Value    oRS.Close        'Obtain Product information.    Set oRS = CreateObject("ADODB.Recordset")    oRS.Open "Select ProductName, Quantity, [Order Details].UnitPrice," & _             "Discount from Products Inner Join [Order Details] on " & _             "Products.ProductID = [Order Details].ProductID " & _             "Where OrderID = " & sOrderID, oConn, 3 'adOpenStatic=3    m_Data.ProdInfo = oRS.GetRows    oRS.Close        'Close the connection to the database.    oConn.CloseEnd SubPublic Sub SendData(oXML As Variant)    'Extract the information from the DOMDocument object oXML and store    'it in the private member variable m_Data.    m_Data.OrderID = oXML.getElementsByTagName("OrderID").Item(0).Text    m_Data.OrderDate = oXML.getElementsByTagName("OrderDate").Item(0).Text    m_Data.CustID = oXML.getElementsByTagName("CustID").Item(0).Text    m_Data.CustInfo = oXML.getElementsByTagName("CustInfo").Item(0).Text        Dim oItems As Object, oItem As Object    Set oItems = oXML.getElementsByTagName("Items").Item(0)    ReDim vArray(0 To 3, 0 To oItems.childNodes.Length - 1) As Variant    Dim i As Integer    For i = 0 To UBound(vArray, 2)        Set oItem = oItems.childNodes(i)        vArray(0, i) = oItem.getAttribute("Desc")        vArray(1, i) = oItem.getAttribute("Qty")        vArray(2, i) = oItem.getAttribute("Price")        vArray(3, i) = oItem.getAttribute("Disc")    Next    m_Data.ProdInfo = vArrayEnd SubPublic Sub MakeInvoice(sTemplate As Variant, Optional bSave As Variant)        Dim oWord As Object    Dim oDoc As Object    Dim oTable As Object        If IsMissing(bSave) Then bSave = False    'Open the document as read-only.    Set oWord = CreateObject("Word.Application")    Set oDoc = oWord.Documents.Open(sTemplate, , True)        'Fill in the bookmarks.    oDoc.Bookmarks("Customer_Info").Range.Text = m_Data.CustInfo    oDoc.Bookmarks("Customer_ID").Range.Text = m_Data.CustID    oDoc.Bookmarks("Order_ID").Range.Text = m_Data.OrderID    oDoc.Bookmarks("Order_Date").Range.Text = m_Data.OrderDate        'Fill in the table with the product information.    '** Note that the table starts out with three rows -- the first row    '   contains headers for the table, the second row is for    '   the first set of product data, and the third row contains a total.    '   New rows are added for additional products before the "total row".    Set oTable = oDoc.Tables(1)    Dim r As Integer, c As Integer    For r = 1 To UBound(m_Data.ProdInfo, 2) + 1        If r > 1 Then oTable.Rows.Add (oTable.Rows(oTable.Rows.Count))        For c = 1 To 4            oTable.Cell(r + 1, c).Range.Text = _               m_Data.ProdInfo(c - 1, r - 1)        Next        oTable.Cell(r + 1, 5).Formula _            "=(B" & r + 1 & "*C" & r + 1 & ")*(1-D" & r + 1 & ")", _            "#,##0.00"    Next    'Update the field for the grand total and protect the document.    oTable.Cell(oTable.Rows.Count, 5).Range.Fields.Update    oDoc.Protect 1 'wdAllowOnlyComments=1            If bSave Then        'Save the document as "c:\invoice.doc" and quit Word.        Dim nResult As Long        nResult = MsgBox("Are you sure you wish to create the document" & _             " ""c:\invoice.doc""? If this document already exists, " & _             "it will be replaced", vbYesNo, "AutomateWord")        If nResult = vbYes Then oDoc.SaveAs "c:\invoice.doc"        oDoc.Close False        oWord.Quit    Else        'Make Word visible.        oWord.Visible = True    End If    End Sub				

باستخدام مكونات ActiveX من صفحة ويب

يوضح Autoword1.htm كيف يمكنك استخدام الأسلوب GetData للسماح مكوّن ActiveX استرداد جانب العميل البيانات ترتيب كما إنشاء المستند.

Autoword1.htm
<HTML><HEAD>   <OBJECT ID="AutoWord"    CLASSID="CLSID:32646EBA-0919-4C2F-94D6-599F46DC34F2"    CODEBASE="http://YourWebServer/invoice/package/AutomateWord.CAB#version=1,0,0,0">   </OBJECT></HEAD><BODY>Enter an order id between 10248 and 11077 and click the button to view the invoice for the order:<P/><INPUT TYPE="text" VALUE="10500" ID="OrderID"><P/><BUTTON ID="InvoiceButton">Create Invoice</BUTTON></BODY><SCRIPT Language="VBScript">   Function InvoiceButton_OnClick()      Dim sConn      sConn = "Provider=sqloledb;Data Source=YourSQLServer;Initial Catalog=Northwind;UID=sa;"      AutoWord.GetData OrderID.Value, sConn      AutoWord.MakeInvoice "http://YourWebServer/invoice/invoice.doc"   End Function</SCRIPT></HTML>				
يستخدم البرنامج النصي في Autoword1.htm مكوّن ActiveX لعرض المستند المكتملة خارج المستعرض. يمكنك أيضاً اختيار حفظ المستند المكتملة وعرضها في المستعرض; ومع ذلك، القيام بذلك يتطلب أن يتم حفظ مستند Word إلى قرص. يمكن المكون حفظ المستند كـ C:\Invoice.doc على محرك الأقراص المحلي العميل. بسبب وضع مكوّن ActiveX آمن للبرمجة تتم مطالبة العميل تأكيد الحفظ.

إذا كنت ترغب في عرض المستند المكتملة في المستعرض بتغيير استدعاء MakeInvoice في Autoword1.htm التالي: Autoword2.htm
      AutoWord.MakeInvoice "http://YourWebServer/invoice/invoice.doc", True      window.navigate "c:\invoice.doc"				
يوضح كيف يمكنك استخدام الأسلوب SendData لإرسال البيانات ترتيب ككائن DOMDocument إلى مكون ActiveX لإنشاء المستند المكتملة. تم إنشاء DOMDocument من جزيرة بيانات XML موجود على صفحة ويب. مكون ActiveX بشكل صحيح معالجة معلومات الطلب التي تم إرسالها من قبل المتصل XML يجب أن تكون جيد الإنشاء مصنفة بحيث المكون يمكن تفسير معلومات الطلب.

Autoword2.htm
<HTML><HEAD>   <OBJECT ID="AutoWord"    CLASSID="CLSID:32646EBA-0919-4C2F-94D6-599F46DC34F2"    CODEBASE="http://YourWebServer/invoice/package/AutomateWord.CAB#version=1,0,0,0">   </OBJECT></HEAD><BODY>   <BUTTON ID="InvoiceButton">Create Invoice</BUTTON>   <XML ID="DataXML">     <Order>        <OrderID>10700</OrderID>        <OrderDate>10/10/2000</OrderDate>        <CustID>SAVEA</CustID>        <CustInfo>Save-a-lotMarkets Boise ID 83720USA</CustInfo>        <Items>           <Product Desc="Chai" Qty="5" Price="18" Disc="0.2"/>           <Product Desc="Sasquatch Ale" Qty="12" Price="14" Disc="0.2"/>           <Product Desc="Scottish Longbreads" Qty="40" Price="12.5" Disc="0.2"/>           <Product Desc="Flotemysost" Qty="60" Price="21.5" Disc="0.2"/>        </Items>             </Order>   </XML></BODY><SCRIPT Language="VBScript">     Function InvoiceButton_OnClick()      AutoWord.SendData DataXML.XMLDocument      AutoWord.MakeInvoice "http://YourWebServer/invoice/invoice.doc"   End Function</SCRIPT></HTML>				
في كل Autoword1.htm "و" Autoword2.htm "، يجب ملاحظة إنشاء مثيل مكوّن ActiveX بواسطة بطريقة من وعلامة <object>بدلاً مندالة CreateObject. الغرض من استخدام العلامة <object>هو تمكين التنزيل التلقائي مكوّن ActiveX للمستخدمين التي لا تتضمن بالفعل تثبيت مكون. إذا كان أحد المستخدمين بزيارة إحدى هذه الصفحات لم يتم تثبيت المكون يتم تنزيل المكون من ملف الخزانة (CAB) على URL المشار إليه فيسمة تعليمات البرمجة الأساسية. اعتماداً على إعدادات الأمان للمستخدم في Internet Explorer، قد أولاً تظهر مطالبة بتأكيد التحميل.

ملاحظة: تم إنشاء ملف CAB المضمنة في Autoword.exe باستخدام "حزمة" و "معالج النشر Visual Basic. مكوّن ActiveX في الحزمة تم وضع علامة آمن لها التهيئة والبرمجة ولكن لم يتم توقيعها رقمياً.

للحصول على مزيد من المعلومات حول إنشاء التحميلات مكون إنترنت التوقيع الرقمي ووضع مكونات أنه آمن للبرمجة و التهيئة، راجع مواقع شبكة مطوري Microsoft (MSDN) التالي على الويب:
توقيع و تدقيق رمز باستخدام رمز المصادقة
http://msdn2.microsoft.com/en-us/library/ms537364.aspx

تهيئة آمنة وقابلة برمجة عناصر تحكم ActiveX
http://msdn2.microsoft.com/en-us/library/Aa751977.aspx
مراجع
للحصول على معلومات إضافية، انقر فوق أرقام المقالات التالية لعرضها في "قاعدة المعارف لـ Microsoft:
257757INFO: هو التنفيذ Office على تنفيذ غير المراقب غير مستحسن أو المعتمدة
270906كيفية استخدام ASP إلى إنشاء مستند تنسيق (RTF) نص منسق إلى دفق إلى Microsoft Word
(c) يوم شركة Microsoft حقوق كافة محجوز. المساهمات قبل Lori B. Turner ، Microsoft Corporation.
أتمتة تلقائية التنفيذ التلقائي createobject msword 2000 2002 xp WD2007 WD2003 ie

تحذير: تمت ترجمة هذه المقالة تلقائيًا

خصائص

رقم الموضوع: 286023 - آخر مراجعة: 05/17/2007 03:50:48 - المراجعة: 11.3

Microsoft Office Word 2007, Microsoft Office Word 2003, Microsoft Word 2002 Standard Edition, Microsoft Word 2000 Standard Edition, Visual Basic, Scripting Edition 5.0, Microsoft Visual Basic 6.0 Professional Edition, Microsoft Internet Explorer 5.0, Microsoft Internet Explorer 5.01, Microsoft Internet Explorer 5.5

  • kbmt kbdownload kbautomation kbhowto KB286023 KbMtar
تعليقات
script> html>icrosoft.com/c.gif?DI=4050&did=1&t=">/html>1&t=">;did=1&t=">