Word中怎么设置代码高亮?word中关键字高亮的设置方法
有时写文档时需要将代码粘贴到word中,但直接粘贴到word中的代码虽能保持换行与缩进等格式,但在一般代码编辑工具中的关键字高亮功能却无法实现。该方法无需任何插件,只需要制作一个宏即可实现类似sublime的显示效果

1、首先完成当前所有内容,建议把代码放入单独的文本框中,方便处理,也有较好的视觉效果。记得一定要拷贝一份副本!因为很可能因为代码量比较多,处理宏的时候卡死,只能强制退出WORD了。
2、当前文档新定义一个样式,命名为"code",专门用来对代码进行格式化。由于是代码,所以推荐中文使用黑体(注释等),而英文使用等宽字体(courier new)。步骤如图。

3、选中代码,单击样式库 ccode,将代码应用该样式

4、新建宏,步骤如图

5、将VBA代码(在下一步中)拷贝进去,保存后关闭 (有VBA或相关程序经验者可根据自己需要进行相关修改,如关键词和高亮颜色等)

- 'script to high light code In document
- Private Function isKeyword(w) As Boolean
- Dim keys As New Collection
- With keys
- .Add "if": .Add "else": .Add "elseif": .Add "case": .Add "switch": .Add "break"
- .Add "for": .Add "continue": .Add "do": .Add "while": .Add "foreach": .Add "echo"
- .Add "define": .Add "array": .Add "NULL": .Add "function": .Add "include": .Add "return"
- .Add "global": .Add "as": .Add "die": .Add "header": .Add "this": .Add "empty"
- .Add "isset": .Add "mysql_fetch_assoc": .Add "class": .Add "style"
- .Add "name": .Add "value": .Add "type": .Add "width": .Add "_POST": .Add "_GET"
- End With
- isKeyword = isSpecial(w, keys)
- End Function
- Private Function isSpecial(ByVal w As String, ByRef col As Collection) As Boolean
- For Each i In col
- If w = i Then
- isSpecial = True
- Exit Function
- End If
- Next
- isspeical = False
- End Function
- Private Function isOperator(w) As Boolean
- Dim ops As New Collection
- With ops
- .Add "+": .Add "-": .Add "*": .Add "/": .Add "&": .Add "^": .Add ";"
- .Add "%": .Add "#": .Add "!": .Add ":": .Add ",": .Add "."
- .Add "||": .Add "&&": .Add "|": .Add "=": .Add "++": .Add "--"
- .Add "'": .Add """"
- End With
- isOperator = isSpecial(w, ops)
- End Function
- Private Function isType(ByVal w As String) As Boolean
- Dim types As New Collection
- With types
- .Add "SELECT": .Add "FROM": .Add "WHERE": .Add "INSERT": .Add "INTO": .Add "VALUES": .Add "ORDER"
- .Add "BY": .Add "LIMIT": .Add "ASC": .Add "DESC": .Add "UPDATE": .Add "DELETE": .Add "COUNT"
- .Add "html": .Add "head": .Add "title": .Add "body": .Add "p": .Add "h1": .Add " h2"
- .Add "h3": .Add "center": .Add "ul": .Add "ol": .Add "li": .Add "a"
- .Add "input": .Add "form": .Add "b"
- End With
- isType = isSpecial(w, types)
- End Function
- Sub SyntaxHighlight()
- Dim wordCount As Integer
- Dim d As Integer
- ' set the style of selection
- Selection.Style = "ccode"
- d = 0
- wordCount = Selection.Words.Count
- Selection.StartOf wdWord
- While d < wordCount
- d = d + Selection.MoveRight(wdWord, 1, wdExtend)
- w = Selection.Text
- If isKeyword(Trim(w)) = True Then
- Selection.Font.Color = wdColorBlue
- ElseIf isType(Trim(w)) = True Then
- Selection.Font.Color = wdColorDarkRed
- Selection.Font.Bold = True
- ElseIf isOperator(Trim(w)) = True Then
- Selection.Font.Color = wdColorBrown
- ElseIf Trim(w) = "//" Then
- 'lIne comment
- Selection.MoveEnd wdLine, 1
- commentWords = Selection.Words.Count
- d = d + commentWords
- Selection.Font.Color = wdColorGreen
- Selection.MoveStart wdWord, commentWords
- ElseIf Trim(w) = "/*" Then
- 'block comment
- While Selection.Characters.Last <> "/"
- Selection.MoveLeft wdCharacter, 1, wdExtend
- Selection.MoveEndUntil ("*")
- Selection.MoveRight wdCharacter, 2, wdExtend
- Wend
- commentWords = Selection.Words.Count
- d = d + commentWords
- Selection.Font.Color = wdColorGreen
- Selection.MoveStart wdWord, commentWords
- End If
- 'move the start of selection to next word
- Selection.MoveStart wdWord
- Wend
- ' prepare For set lIne number
- Selection.MoveLeft wdWord, wordCount, wdExtend
- SetLIneNumber
- End Sub
- Private Sub SetLIneNumber()
- Dim lines As Integer
- lines = Selection.Paragraphs.Count
- Selection.StartOf wdParagraph
- For l = 1 To lines
- lIneNum = l & " "
- If l < 10 Then
- lIneNum = lIneNum & " "
- End If
- Selection.Text = lIneNum
- Selection.Font.Bold = False
- Selection.Font.Color = wdColorAutomatic
- p = Selection.MoveDown(wdLine, 1, wdMove)
- Selection.StartOf wdLine
- Next
- End Sub
6、选定代码文本,然后执行highlight脚本:“视图”-“宏”- 选中“SyntaxHighlight”-“运行”,然后执行就可以了。处理较长代码时需要一定时间,请耐心等待。

注意事项:处理前一定要对原文章进行备份,以免前功尽弃。处理较长代码时需要一定时间,请耐心等待。
相关文章

Word如何快速对齐ABCD选项? word试卷批量对齐ABCD的技巧
在平时使用word排版过程中,有时候我们遇到abcd选择题选项上下不对齐怎么办,非常乱,但是我们又需要对齐的效果,我们应该怎么办呢?2025-12-05
怎样把竖着的ABCD调整为横一排? word选择题abcd调整为一行显示的技巧
选择题abcd是竖着排列的,很占空间,想要横排排列,该怎么操作呢?下面我们就来看看详细教程2025-12-05
自动更正功能快速提高工作效率! word巧妙利用自动更正功能快速录入长文
在Word中输入内容时,你是否曾为频繁输入公司名字等长文本而烦恼?但有了Word的文本自动更正功能,这一切变得简单起来,你只需输入“万达”等简短词汇,系统便能自动为你补2025-11-01
deepseek复制粘贴乱码咋办? word粘贴出现很多Markdown格式标记符号解决
你有没有遇到过,用 DeepSeek 生成的文字,复制后粘贴,总会出现一堆奇怪的符号,比如“*#-”,还得一个一个删,特别麻烦,下面我们就来看看解决办法2025-08-19
论文交叉引用多个文献怎么办? word交叉引用多篇连续文献的技巧
通过word文档连续交叉引用多个参考文献,具体分为引用连续文献和不连续文献两种情况,该怎么操作呢?下面我们就来看看详细教程2025-06-28
在编辑Word文档时,有时我们只需要导出其中的部分页面,而不是整个文档,下面将介绍如何在Word中导出部分页面2025-04-14
问卷星怎么转换成word文档? 问卷星问卷调查导出成word的技巧
在日常工作中,我们经常需要将问卷星上的问卷内容导出为Word格式,以便整理和分析数据,以下是三种简单的操作方法2025-04-14
word文档一整页怎么截屏? word文档截图截一张全的图片技巧
在Word文档中想将一整页截屏下来,可以通过使用键盘中的Print Screen键和Word自带的截屏功能等多种方法截图,详细如下2025-04-14
word开发工具怎么调出来? word工具栏添加开发工具的教程
许多用户在使用Word时,可能会发现菜单栏中缺少了“开发者工具”这一重要选项,这无疑限制了Word的某些高级功能应用,详细请看下文介绍2025-04-14
Word文本框中的数字和英文字母如何进行竖排? word文档排版技巧
用Word进行排版成为我们办公中的主要方式,偶尔我们也可能会让文字竖着排版,让文字竖着排版我们都知道怎么操作,但是如何让英文字母和数字也纵向显示呢?详细请看下文介绍2025-03-25



最新评论