我有一個包含約1000個用於替換的單詞對的列表。通過循環遍歷形狀,我必須一次又一次地遍歷單詞對。爲了讓它運行得更快,我嘗試在執行替換之前選擇所有形狀,但它不起作用。任何建議將不勝感激。如何在Word中使用VBA同時替換形狀中的單詞(不通過形狀循環)
的電流代碼(對存儲在一個名爲密鑰列表()和一個名爲頌歌字典)相關部分:
With Selection.Find
.ClearFormatting
.Replacement.ClearFormatting
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchByte = False
.MatchAllWordForms = False
.MatchSoundsLike = False
.MatchWildcards = False
.MatchFuzzy = False
End With
shape_num = ActiveDocument.Shapes.count
On Error GoTo errhandler
For i = 1 To shape_num
If ActiveDocument.Shapes(i).TextFrame.HasText Then
ActiveDocument.Shapes(i).Select
For j = 1 To lexicon_num
SrcText = key(j)
With Selection.Find
.Text = SrcText
.Replacement.Text = oDic.Item(SrcText)
.Execute Replace:=wdReplaceAll
End With
Next j
End If
continue_shape:
Next i
exit sub
errhandler:
Err.Clear
Resume continue_shape
您可能要添加當前的代碼?至於你的問題,我認爲除了循環之外別無他法。這是AFAIK。 – L42 2014-10-02 02:40:12
@ L42,感謝您的信息和建議。我已經添加了我的代碼:) – null 2014-10-06 02:51:30
「形狀」是什麼意思? – user3165438 2014-10-06 09:58:10