我有一个doc(docx)文件,我希望每个单词的每个字母都有不同的颜色。
字母a(A) - 红色 字母b(B) - 颜色为蓝色 等
我怎样才能做到这一点?
答案 0 :(得分:0)
我讨厌VBA在办公室,因为出于某种原因,他们决定不更新VBA就像他们为visual studio的宏界面更新它时所做的那样...因为与旧文档的兼容性......但是,我认为这应该得到你开始了,因为我说的,它应该适用于任何版本的有vba的单词,我把这个代码放在一个名为“NewMacro”的新模块中 - 如果你使用Office 2010,那么宏可以通过“查看“最右边的”功能区“宏”面板(右侧的“窗口”面板)..然后只需在宏名称下键入名称ColorizeLetter,然后单击“创建”按钮并在下面添加此代码(Sub ColorizeLetter()将请放在这里,我只是为了完整性而添加它,或者如果你已经有一个现有模块,并且知道如何在没有宏窗口的情况下进行操作)。此外,我假设此时只有一个文档是打开的,如果处理多个文档,特定文档,则需要添加功能(只需修改“Set X =”行即可)。
Sub ColorizeLetter()
'
' ColorizeLetter Macro
'
'
Dim D As Range
Dim C As Characters
Dim X As Document
Set X = Word.Documents.Item(1)
For I = 1 To X.Words.Count
Set D = X.Words.Item(I)
For J = 1 To D.Characters.Count
S$ = D.Characters.Item(J).Text
Select Case S$
Case "A"
D.Characters.Item(J).Font.ColorIndex = wdRed
Case "B"
D.Characters.Item(J).Font.ColorIndex = wdBlue
End Select
Next
Next
End Sub
只需在Select Case块中为其他字符添加你想要的颜色,你应该很高兴.....希望这会有所帮助。