我每週都會創建一個多頁的單詞文檔。我從PDF複製文本並將其粘貼到Word文檔中,然後格式化我粘貼的文本。使用VBA單詞選擇文本並將其設爲粗體
這需要很長時間,我想自動化它。
我需要一個宏或一些代碼來選擇特定的文本,然後使該文本加粗。我需要加粗的具體文字就是我所說的廢品代碼。
有60個不同的代碼。例如「FIPS」或「LILL」。
我每週都會創建一個多頁的單詞文檔。我從PDF複製文本並將其粘貼到Word文檔中,然後格式化我粘貼的文本。使用VBA單詞選擇文本並將其設爲粗體
這需要很長時間,我想自動化它。
我需要一個宏或一些代碼來選擇特定的文本,然後使該文本加粗。我需要加粗的具體文字就是我所說的廢品代碼。
有60個不同的代碼。例如「FIPS」或「LILL」。
事情是這樣的:
Sub A()
'
' a Macro
'
'
Dim A(3) As String
A(1) = "code1"
A(2) = "code2"
A(3) = "code3"
For i = 1 To 3
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Forward = True
.Wrap = wdFindStop
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
.Replacement.Font.Bold = True
.Execute FindText:=A(i), ReplaceWith:=A(i), Format:=True, _
Replace:=wdReplaceAll
End With
Next i
End Sub
HTH!
編輯
要切換的美元金額,以大膽
Sub a()
'
' a Macro
'
'
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
Selection.Find.Replacement.Font.Bold = True
With Selection.Find
.Text = "$([0-9.,]{1,})"
.Replacement.Text = ""
.Forward = True
.Wrap = wdFindContinue
.Format = True
.MatchCase = False
.MatchWholeWord = False
.MatchAllWordForms = False
.MatchSoundsLike = False
.MatchWildcards = True
End With
Selection.Find.Execute
Selection.Find.Execute Replace:=wdReplaceAll
End Sub
我會建議錄製一個宏。
然後進行所有修改和格式化。
最後,看看宏的代碼,看看它是如何做到的。
你需要弄清楚的一件事是你如何邏輯上想要找到你想要加粗的文本。
它是一個特定的行嗎?它是否在一個已知單詞的開頭?
一旦你有了答案,你可以將它與宏的代碼結合起來並使任務自動化。
我想製作一個字符串數組與每個廢料碼的。也許我可以使用find replace來查找文檔中的每個廢料代碼,然後使其變爲粗體。 昏暗ScrapCodes作爲字符串()=「所有廢料碼 昏暗計數器爲整數= 0 做,直到計數器>」碼 「的數量使用計數器來調用每個廢料代碼陣列 在」尋找廢料代碼 '使廢品代碼大膽 '加1到櫃檯 結束 從我編程已經很長一段時間了,但這正是我所想的是有道理的。 – Aaron 2010-12-16 05:34:54
完美的工作!你是最好的謝謝你。 – Aaron 2010-12-16 20:43:18
還有一件事。我想在同一份文件上大膽地使用美元。我可以讓它尋找一個美元符號,然後選擇,直到文檔中有空格嗎?文件上的每一美元金額都以一個美元符號開始,所以我想找那個將是一件容易的事情。 – Aaron 2010-12-16 20:51:29
@Aaron在「美元符號」上工作...... – 2010-12-16 21:20:22