1
我對VB腳本沒有太多的經驗,但我正在嘗試寫一些將在word文檔中搜索特定字符串的內容,將其替換爲我指定的任何內容然後在標籤打印機上打印出來。VB腳本查找和替換Word文檔中的文本
它做了第一次替換就好了,但不是第二次。任何人都可以看看,看看我可能做錯了什麼?
Option Explicit
Dim WordApp
Dim WordDoc
Dim strReadCompName
Dim strReadCompSN
Set WordApp = CreateObject("Word.Application")
WordApp.Visible = TRUE
WordApp.Documents.Open("C:\LabelTemplate.doc")
WordApp.Documents("LabelTemplate.doc").Activate
Set WordDoc = WordApp.ActiveDocument
strReadCompName = InputBox("Enter Computer Name", "Name")
strReadCompSN = InputBox("Enter Serial Number", "Serial")
With WordApp.Selection.Find
.ClearFormatting
.Replacement.ClearFormatting
.MatchWholeWord = TRUE
.Text = "nametext"
.Execute ,,,,,,,,,strReadCompName
End With
With WordApp.Selection.Find
.ClearFormatting
.Replacement.ClearFormatting
.MatchWholeWord = TRUE
.Text = "serialtext"
.Execute ,,,,,,,,,strReadCompSN
End With
WordDoc.PrintOut()
WordDoc.Saved = TRUE
WordApp.Quit
不熟悉腳本,但在VB中,您可以將替換命令組合在一起。我遇到了同樣的問題,分組時解決了問題。也許把它們加到相同的地方,End With Block – sealz 2011-05-25 18:33:33
''serialtext「'在文檔中的''nametext''之後?這可能是搜索從最後一場比賽開始。另外,當找到成功不Word選擇找到的文本?如果是這樣,則第二次搜索可能僅在所選文本內搜索而不是整個文檔。 – 2011-05-25 19:39:38
是的,它確實出現在「nametext」之後。如果是這樣的話,我將如何「解除」文本並將光標放回到文件的開頭,以便我可以再次從那裏搜索? – Cuthbert 2011-05-25 19:47:55