我是VBA的新手,尝试使用Excel中的VBA从Excel中填写单词模板。我正在使用以下代码将Date放入word文档的标签中:Dim Template As String
Dim WordDoc, WordApp As Object
Dim Template as String
On Error Resume Next
Set WordApp = GetObject("Word.Application")
If Err.Number <> 0 Then
Err.Clear
Set WordApp = CreateObject("Word.Application")
WordApp.Visible = True
End If
Template = "C:\Users\me\Dropbox\me - Summer 2019\RMA_Log\00059-001_E_24May19_Form Returned Authorization.docx"
Set WordDoc = WordApp.Documents.Open(FileName:=Template, ReadOnly:=False)
With WordDoc.Content.Find
.Text = "<Date>"
.Replacement.Text = "06-06-2019"
.Execute Replace:=wdReplaceAll, Forward:=True, Wrap:=wdFindContinue
End With
Run Code Online (Sandbox Code Playgroud)
但这不会替换我的Word文档主体中的任何文本。
我已经尝试过了,WordDoc.ActiveDocument.Content.Find但是那也行不通。如果我精确地复制了代码并替换WordDoc为ActiveDocumentVBA并在单词VBA中运行,则文本将被替换。
Dim Template As String
Template = "C:\Users\me\Dropbox\me - Summer 2019\RMA_Log\00059-001_E_24May19_Form Returned Authorization.docx"
With ActiveDocument.Content.Find
.Text = "<Date>"
.Replacement.Text = "06-06-2019"
.Execute Replace:=wdReplaceAll, Forward:=True, Wrap:=wdFindContinue
End With
Run Code Online (Sandbox Code Playgroud)
如果我在Word VBA中运行此代码,它将替换标记,为什么不能从Excel运行此代码呢?
编辑:Office 2016
小智 6
Excel不知道是什么wdReplaceAll或者wdFindContinue是。
引用Word对象模型(Tools > References > Microsoft Word XX Object Model)。
而且,如果您Option Explicit将代码放在顶部,则可以突出显示该代码。
| 归档时间: |
|
| 查看次数: |
70 次 |
| 最近记录: |