打开文档时,我无法运行此宏

时间:2016-07-20 12:54:23

标签: vba ms-word macros word-vba

Private Sub Document_Open()
    Dim objExcel As Object
    Dim FileName As String
    Dim cc As ContentControl

    FileName = "Z:\" & "\Data.xlsx"
    Set objExcel = CreateObject("Excel.Application")
    Set exWb = objExcel.Workbooks.Open(FileName)

    For Each cc In ActiveDocument.SelectContentControlsByTag("Name")
        cc.Range.Text = exWb.Sheets("4").Cells(1, 2)
    Next

    exWb.Close
    Set exWb = Nothing
End Sub

该文件保存为 Word启用宏的模板,因此双击它会创建一个名为 Document1 的新文件,但宏似乎无法运行,因为内容控件为空白。但是,如果我通过" Macros"运行相同的代码(在开发人员下),表单填写。

1 个答案:

答案 0 :(得分:1)

我发现它是Document_New而不是Document_Open

Private Sub Document_New()
    Dim objExcel As Object
    Dim FileName As String
    Dim cc As ContentControl

    FileName = "Z:\" & "\Data.xlsx"
    Set objExcel = CreateObject("Excel.Application")
    Set exWb = objExcel.Workbooks.Open(FileName)

    For Each cc In ActiveDocument.SelectContentControlsByTag("Name")
        cc.Range.Text = exWb.Sheets("4").Cells(1, 2)
    Next

    exWb.Close
    Set exWb = Nothing
End Sub