通过VBA查找替换代码被忽略

时间:2019-06-09 21:58:36

标签: excel vba replace ms-word find

我似乎无法获得在单词文档中找到并替换单词的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”。但是,代码运行时没有任何反应(没有错误)。

0 个答案:

没有答案