在WORD中录制的宏如何在VB中调用

解决方案 »

  1.   

    定义Word对象
    Dim wrdW as Word.Application
    Set wrdW = CreateObject("Word.Application")    打开文档
    Dim wrdDoc as Document
    Set wrdDoc = wrdW.Documents.Open Filename:="C:\MyDoc.dot"    保存文档
    wrdW.Documents("C:\MyDoc.dot").Save    关闭文档
    wrdW.Documents("C:\MyDoc.dot").Close SaveChange:=wdSaveChange其它的操作代码都可在宏中看到了,只要通过指定对象(在这里是wrdW)调用就可以了  
      

  2.   

    例子:调用模板,并奖模板另存
    '引用Microsoft Word X.0 Object Library
    Private Sub Command1_Click()
        On Error GoTo connecterr
        Dim wordApp As Object
        Set wordApp = CreateObject("word.application")
        
        wordApp.Visible = True
        Dim myDoc As Object
        Set myDoc = wordApp.Documents.Open("c:\Test.dot")
        wordApp.selection.TypeText (" Hello")
        
        myDoc.SaveAs FileName:="C:\Temp.dot", _
            FileFormat:=wdFormatTemplate, LockComments:=False, Password:="", _
            AddToRecentFiles:=True, WritePassword:="", ReadOnlyRecommended:=False, _
            EmbedTrueTypeFonts:=False, SaveNativePictureFormat:=False, SaveFormsData _
            :=False, SaveAsAOCELetter:=False
        
        myDoc.Close
        wordApp.Quit
        Set myDoc = Nothing
        Set wordApp = Nothing
        Exit Sub
    connecterr:
    End Sub
      

  3.   

    Word对象的Application类提供了一个函数run,它是负责运行宏的:Function Run(MacroName As String, [varg1], [varg2], [varg3], [varg4], [varg5], [varg6], [varg7], [varg8], [varg9], [varg10], [varg11], [varg12], [varg13], [varg14], [varg15], [varg16], [varg17], [varg18], [varg19], [varg20], [varg21], [varg22], [varg23], [varg24], [varg25], [varg26], [varg27], [varg28], [varg29], [varg30])
        Word.Application 的成员