从Excel自动生成Word文档

时间:2020-10-21 19:23:08

标签: excel vba ms-word

我正在尝试根据Excel工作表创建自定义Word文档。我首先有一个按钮(可能会更改为超链接),相应的宏看起来像下面给出的宏。但是整个过程要花费大量的时间,即使对于只有很少的16行的很小的excel工作表,我的话语和excel在执行操作时也会卡住。有什么更好的方法可以更好地做到这一点并加快流程?

Sub test()
    Dim word As Object
    On Error Resume Next
    Set word = GetObject(, "word.application") 
    If Err = 429 Then
        Set word = CreateObject("word.application") 
        Err.Clear
    End If
    Worksheets("Sheet1").Activate
    ActiveSheet.UsedRange.Copy
    With word
        .Documents.Add
        .Selection.Paste
        .Visible = True
    End With
End Sub

1 个答案:

答案 0 :(得分:0)

我会尽量避免使用Selection。试试下面的代码,看看它是否对您更好。

Sub test()
    Dim wdApp As Object
    On Error Resume Next
    Set wdApp = GetObject(, "Word.application")
    If Err = 429 Then
        Set wdApp = CreateObject("Word.application")
        Err.Clear
    End If
    Worksheets("Data").UsedRange.Copy
    With wdApp
        .Documents.Add.Content.Paste
        .Visible = True
    End With
End Sub
相关问题