我每周都会创建一个多页的单词文档。我从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