【问题标题】:Error: haven't defined the variable错误:尚未定义变量
【发布时间】:2018-05-03 13:15:01
【问题描述】:

我从网上复制了一些示例代码。

我想将 Excel 上的表格复制到一个新的 word 文档中。

这是我的代码:

Sub ExcelRangeToWord()

    'PURPOSE: Copy/Paste An Excel Table Into a New Word Document
    'NOTE: Must have Word Object Library Active in Order to Run _
    (VBE > Tools > References > Microsoft Word 12.0 Object Library)
    'SOURCE: www.TheSpreadsheetGuru.com

    Dim tbl As Excel.Range
    Dim WordApp As Word.Application 'was highlighted as error .
    Dim myDoc As Word.Document
    Dim WordTable As Word.Table

    'Optimize Code
    Application.ScreenUpdating = False
    Application.EnableEvents = False

    'Copy Range from Excel
    Set tbl = ThisWorkbook.Worksheets(Sheet1.Name).ListObjects("Table1").Range

    'Create an Instance of MS Word
    On Error Resume Next

    'Is MS Word already opened?
    Set WordApp = GetObject(class:="Word.Application")

    'Clear the error between errors
    Err.Clear

    'If MS Word is not already open then open MS Word
    If WordApp Is Nothing Then Set WordApp = CreateObject(class:="Word.Application")

    'Handle if the Word Application is not found
    If Err.Number = 429 Then
        MsgBox "Microsoft Word could not be found, aborting."
        GoTo EndRoutine
    End If

    On Error GoTo 0

    'Make MS Word Visible and Active
    WordApp.Visible = True
    WordApp.Activate

    'Create a New Document
    Set myDoc = WordApp.Documents.Add

    'Copy Excel Table Range
    tbl.Copy

    'Paste Table into MS Word
    myDoc.Paragraphs(1).Range.PasteExcelTable _
    LinkedToExcel:=False, _
    WordFormatting:=False, _
    RTF:=False

    'Autofit Table so it fits inside Word Document
    Set WordTable = myDoc.Tables(1)
    WordTable.AutoFitBehavior (wdAutoFitWindow)

    EndRoutine:
    'Optimize Code
    Application.ScreenUpdating = True
    Application.EnableEvents = True

    'Clear The Clipboard
    Application.CutCopyMode = False

End Sub

它至少包含一个错误,因为它只是从头开始运行:

Dim WordApp As Word.Application '被突出显示为错误 .--> 没有定义变量

【问题讨论】:

  • 请添加有关您的问题的更多详细信息以及您迄今为止为解决问题所做的努力,以便人们可以更好地帮助您。阅读How do I ask a good question?。而不是添加胡言乱语以使问题通过集中更好地描述您的问题。

标签: vba excel


【解决方案1】:

您缺少参考。

解决这个问题:

单击工具以选择参考 向下滚动直到找到 “Microsoft Word 15.0 对象库”确保选中该框;

来源:Copy worksheet information to Word using VBA in Microsoft Excel

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-01-25
    • 2014-04-25
    • 2021-04-10
    • 2011-12-21
    • 2023-03-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多