我似乎无法获得在单词文档中找到并替换单词的VBA代码才能正常工作。 我可以在word文档中手动找到单词,但是vba代码无效。
你好
我正在尝试通过excel输入表在单词中创建自定义表单。我的问题是,即使单词文档处于打开状态,在vba中查找和替换单词文档中单词的代码也会被忽略(我可以手动找到文档中的单词)。通过VBA打开Word文件不是问题。
有人可以告诉我如何在我的Word文档中查找和替换单词吗?
如下面的代码所示,我不成功地尝试了“ With.WordDoc.Content.find”方法。
下面,我添加了代码以找到其中一个单词
谢谢!
Sub CreateWordDocuments()
Dim DocLoc, TagName, TagValue, TemplName, FileName As String
Dim WordDoc, Wordapp As Object
Dim RownumDocLoc As Integer
Dim inputsheet As Worksheet
Set inputsheet = ThisWorkbook.Sheets("Input")
Dim templatesheet As Worksheet
Set templatesheet = ThisWorkbook.Sheets("Templates")
inputsheet.Activate
templaterow = Application.Match("Template:", Columns("B:B"), 0)
If inputsheet.Cells(templaterow, 4) = "" Then
MsgBox "Please complete the template criteria", , "No template selected"
inputsheet.Cells(1, 1).Select
Exit Sub
End If
TemplName = inputsheet.Cells(templaterow, 4)
templatesheet.Activate
RownumDocLoc = Application.Match(TemplName, Columns("F:F"), 0)
DocLoc = templatesheet.Cells(RownumDocLoc, 7) & "\" & TemplName
'Open Word Template
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
'Open Template
Set WordDoc = Wordapp.documents.Open(FileName:=DocLoc, ReadOnly:=False)
With WordDoc.Content.Find
.Text = "samplestring"
.Replacement.Text = "adjustedstring"
.wrap = wdFindContinue
.Execute Replace:=wdReplaceall
End With
End Sub
我希望在字文件中将字符串“ samplestring”调整为“ adjustedstring”。但是,代码运行时没有任何反应(没有错误)。