从Excel中将VBA插入Word

时间:2014-07-05 12:37:09

标签: excel excel-vba ms-word word-vba vba

  1. 我有一个电子表格,可生成word文档,格式化,以及 然后根据所有内容在文档中添加一堆文本 选中并输入电子表格。所有这些都很有效。
  2. 我想要做的是以某种方式将VBA代码插入到Excel文档中生成的Word文档中。
  3. 以下是我要插入的特定代码 - 最终需要进入Word VBA:

    Private Sub Document_Close()
        ActiveDocument.Saved = True
    End Sub
    

    我似乎无法让Excel将此代码插入正在生成的Word文档中。我知道这是可能的,但无法弄清楚。我尝试了几件事,它接受了我的代码,但我不知道它在哪里被插入,因为当我找到插入的行时,我找不到它们。

    以下是我用来生成Word documen t的代码。有人可以看看,让我知道如何将上述代码插入到本文档中?感谢您提供任何帮助。

    Set wrdApp = CreateObject("Word.Application")
    Set wrdDoc = wrdApp.Documents.Add
    
    With wrdApp.Selection
    ‘A bunch of formatting code and text inputting is listed here for the word document.
    End With
    
    wrdApp.Visible = True
    wrdApp.Activate
    

2 个答案:

答案 0 :(得分:2)

如果您已将Word设置为信任对VBA项目的编程访问,则:

Sub ExceltoWord()
Dim strIn As String
strIn = "Private Sub Document_Close()" & Chr(10) & " ActiveDocument.Saved = True" & Chr(10) & "End Sub"
Set wrdApp = CreateObject("Word.Application")
Set wrddoc = wrdApp.Documents.Add
wrddoc.VBProject.VBComponents("ThisDocument").CodeModule.AddFromString strIn
wrdApp.Visible = True
wrdApp.Activate
End Sub

enter image description here

答案 1 :(得分:0)

如果要插入到Word中的代码是常量(可能应该是这样),您可以手动创建一个包含其中代码的Word文件,然后将该文件用作模板而不是从完全为空Word文档。