كيفية استخدام تصفية HTML DLL برمجياً إلى حفظ مستندات Word كـ HTML عادي

معرف المقالة: 291325 - عرض المنتجات التي تنطبق عليها هذه المقالة.
توسيع الكل | طي الكل

في هذه الصفحة

الموجز

يوفر Microsoft 2.0 تصفية الخاص بـ Office 2000 HTML كتحميل حرة من صفحة OfficeUpdate على موقع Microsoft التالي على الويب في:
http://office.microsoft.com/downloads/2000/Msohtmf2.aspx
هذه الوظيفة الإضافية إلى Microsoft Word 2000 يسمح للمستخدمين حفظ مستند Word مفتوح حالياً كـ HTML عادي دون جزر بيانات XML التي يستخدمها Word لـ "المستدير tripping." فإنه يقوم بذلك بواسطة حفظ الملف الحالي الخروج كملف HTML Office قياسية وإزالة ثم XML باستخدام DLL خاص (MSFilter.dll) مثبتة بواسطة الوظيفة الإضافية.

يوضح هذا المقال كيف يمكنك استدعاء DLL هذه من Visual Basic for Applications (VBA) بحيث يمكنك برمجياً إنشاء ملفات HTML عادي في Word 2000 بدون استخدام مربعات حوار واجهة المستخدم الموفرة من قبل الوظيفة الإضافية.

معلومات أخرى

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

Microsoft المعتمدين Partners – https://partner.microsoft.com/global/30000104

خدمات Microsoft المستند الذي يقدم النصائح - http://support.microsoft.com/gp/advisoryservice

للحصول على مزيد من المعلومات حول خيارات الدعم المتوفرة وحول كيفية الاتصال بشركة Microsoft قم بزيارة موقع Microsoft التالي على الويب: http://support.microsoft.com/default.aspx?scid=fh;EN-US;CNTACTMS

استدعاء MSFilter من VBA

لإزالة جزر بيانات XML من ملف HTML تم حفظه من قبل Word يمكنك برمجياً استدعاء الدالة MSPeelerMain تصديرها من MSFilter.dll (التي يتم نسخها إلى دليل النظام عندما يتم تثبيت الوظيفة الإضافية). تعريف الدالة يبدو كما يلي:
Function MSPeelerMain (ByVal sHtmlFile As String, ByVal sCmdOptions As String) As Integer
				
المعلمة الأولى sHtmlFile هو ملف HTML الذي تريد إزالة بيانات Office XML ويحتوي المعلمة الثانية خيارات الأمر تحديد العناصر التي تريد إزالتها. القيم الممكنة لـ sCmdOptions كما يلي:
  OPTIONS:
  -a      - keep standard @rule constructs (@font-face, @page)
  -b      - do not create backup copies
  -c      - remove all standard CSS properties
  -f      - overwrite without prompting when output-file already exists
  -l      - remove LANG attributes
  -m      - do not output the Generator and Originator META tags
  -o      - keep Microsoft Office native markup
  -r      - track rate of reduction
  -s      - remove the STYLE element
  -t      - remove non-essential linked files from the thicket
  -v      - keep VML, remove static images
  -x      - export a CSS stylesheet (.css) based on <sHtmlFile>  
				
لاستخدام مجموعة افتراضية من خيارات فقط تمرير "-" كسلسلة الثاني.

التعليمات البرمجية لـ Visual Basic التالية يحفظ Word المستند الحالي كـ HTML الأصلي ويستخدم ثم DLL تصفية لإزالة علامات XML:
Private Declare Function MSPeelerMain Lib "msfilter.dll" _
  (ByVal sHtmlFile As String, ByVal sCmdOptions As String) As Integer
  
' This is the output file for the example; change as needed.
Private Const c_sOutputFile As String = "C:\MyNewHTMLFile.htm"

Public Sub SaveAsSimpleHTML( sDocFile As String )
    Dim wdApp As Object
    Dim wdDoc As Object
    
    On Error GoTo Err_Routine
    
    'Launch Microsoft Word and open a test document.
    Set wdApp = CreateObject("Word.Application")
    Set wdDoc = wdApp.Documents.Open( sDocFile )
    
    ' Save the test document as HTML (includes XML data islands).
    wdDoc.SaveAs c_sOutputFile, 8 '(wdFormatHTML)
    
    'Close the test document and quit Microsoft Word.
    'NOTE: The document must be closed before the XML can be removed
    'because Word maintains an exclusive file lock.
    wdDoc.Close
    wdApp.Quit
    
    'Make sure Word has time to shut down properly.
    DoEvents

    'If the filter is installed, remove the extra XML.
    MSPeelerMain c_sOutputFile, "-tfrb"
    
    MsgBox "The current file was saved as plain HTML." & _
        vbCrLf & "Location: " & c_sOutputFile
        
Exit Sub
    
Err_Routine:
    If Err.Number = 53 Then
     ' File not found would be if the DLL could not be found, which
     ' would mean that the Filter is not installed on this computer.
        MsgBox "The HTML Filter 2.0 DLL is not installed."
        Err.Clear
        Resume Next
    Else
        MsgBox "An error occurred: " & Str(Err.Number) & _
            " - " & Err.Description, vbCritical
    End If
End Sub
				

الخصائص

معرف المقالة: 291325 - تاريخ آخر مراجعة: 02/ذو القعدة/1427 - مراجعة: 2.3
تنطبق على
  • Microsoft Word 2000 Standard Edition
كلمات أساسية: 
kbmt kbdownload kbdownload kbautomation kbhowto KB291325 KbMtar
ترجمة آلية
هام: تمت ترجمة هذا المقال باستخدام برنامج ترجمة آلية لشركة مايكروسوفت بدلاً من الاستعانة بمترجم بشري. تقدم شركة مايكروسوفت كلاً من المقالات المترجمة بواسطة المترجمين البشر والمقالات المترجمة آليًا وبالتالي ستتمكن من الوصول إلى كل المقالات الموجودة في قاعدة المعرفة الخاصة بنا وباللغة الخاصة بك. بالرغم من ذلك، فإن المقالة المترجمة آليًا لا تكون دقيقة دائمًا وقد تحتوي على أخطاء إملائية أو لغوية أو نحوية، مثل تلك الأخطاء الصادرة عن متحدث أجنبي عندما يتحدث بلغتك. لا تتحمل شركة مايكروسوفت مسئولية عدم الدقة أو الأخطاء أو الضرر الناتج عن أية أخطاء في ترجمة المحتوى أو استخدامه من قبل عملائنا. تعمل شركة مايكروسوفت باستمرار على ترقية برنامج الترجمة الآلية
اضغط هنا لرابط المقالة باللغة الانجليزية291325

إرسال ملاحظات