Word使代码颜色不同(代码高亮)

 时间:2024-10-11 21:43:55

1、准备:首先完成当前所有内容,建议把代码放入单独的文本框中,方便处理,也有较好的视觉效果。记得一定要拷贝一份副本!因为很可能因为代码量比较多,处理宏的时候卡死,只能强制退出WORD了。

2、当前文档新定义一个样式,命名为"挢旗扦渌;code",专门用来对代码进行格式化。由于是代码,所以推荐中文使用黑体(注释等),而英文使用等宽字体(courier new)。步骤如图。

Word使代码颜色不同(代码高亮)

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

Word使代码颜色不同(代码高亮)

4、新建宏,步骤如图

Word使代码颜色不同(代码高亮)

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

Word使代码颜色不同(代码高亮)

6、'script to high light code In documentPrivate 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 FunctionPrivate 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 = FalseEnd FunctionPrivate 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 FunctionPrivate 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 FunctionSub 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 SetLIneNumberEnd SubPrivate 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 NextEnd Sub

7、选定代码文本,然后执行highlight脚本:“视图”-“宏”- 选中“SyntaxHighlight”-“运行”,然后执行就可以了。处理较长代码时需要一定时间,请耐心等待。

Word使代码颜色不同(代码高亮)
  • eclipse如何查自己软件版本
  • Android学习笔记——调用百度的api开发天气预报
  • word中插入图片怎么自动编号?
  • word导航栏怎么显示出来
  • word导航栏怎么显示出来?
  • 热门搜索
    英国旅游景点 大寨旅游 中国旅游景点介绍 美国旅游签证办理流程 大连市旅游局 长沙旅游攻略三日游 适合老人旅游的地方 香港旅游网 江西宜春旅游 宁陕旅游