Word中怎么设置代码高亮?word中关键字高亮的设置方法

时间:2023-04-11 19:23:24 

Word中怎么设置代码高亮?一般编辑器中关键字都可以设置高亮,这样醒目而且重点突出,但是word中去不能讲关键字凸显出来,该怎么办呢?下面分享word中关键代码设置高亮的方法

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

Word中怎么设置代码高亮?word中关键字高亮的设置方法

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

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

Word中怎么设置代码高亮?word中关键字高亮的设置方法

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

Word中怎么设置代码高亮?word中关键字高亮的设置方法

4、新建宏,步骤如图

Word中怎么设置代码高亮?word中关键字高亮的设置方法

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

Word中怎么设置代码高亮?word中关键字高亮的设置方法

复制内容到剪贴板

  1. 'script to high light code In document

  2. Private Function isKeyword(w) As Boolean

  3. Dim keys As New Collection

  4. With keys

  5. .Add "if": .Add "else": .Add "elseif": .Add "case": .Add "switch": .Add "break"

  6. .Add "for": .Add "continue": .Add "do": .Add "while": .Add "foreach": .Add "echo"

  7. .Add "define": .Add "array": .Add "NULL": .Add "function": .Add "include": .Add "return"

  8. .Add "global": .Add "as": .Add "die": .Add "header": .Add "this": .Add "empty"

  9. .Add "isset": .Add "mysql_fetch_assoc": .Add "class": .Add "style"

  10. .Add "name": .Add "value": .Add "type": .Add "width": .Add "_POST": .Add "_GET"

  11. End With

  12. isKeyword = isSpecial(w, keys)

  13. End Function

  14. Private Function isSpecial(ByVal w As String, ByRef col As Collection) As Boolean

  15. For Each i In col

  16. If w = i Then

  17. isSpecial = True

  18. Exit Function

  19. End If

  20. Next

  21. isspeical = False

  22. End Function

  23. Private Function isOperator(w) As Boolean

  24. Dim ops As New Collection

  25. With ops

  26. .Add "+": .Add "-": .Add "*": .Add "/": .Add "&": .Add "^": .Add ";"

  27. .Add "%": .Add "#": .Add "!": .Add ":": .Add ",": .Add "."

  28. .Add "||": .Add "&&": .Add "|": .Add "=": .Add "++": .Add "--"

  29. .Add "'": .Add """"

  30. End With   

  31. isOperator = isSpecial(w, ops)   

  32. End Function   

  33. Private Function isType(ByVal w As String) As Boolean   

  34. Dim types As New Collection   

  35. With types   

  36. .Add "SELECT": .Add "FROM": .Add "WHERE": .Add "INSERT": .Add "INTO": .Add "VALUES": .Add "ORDER"

  37. .Add "BY": .Add "LIMIT": .Add "ASC": .Add "DESC": .Add "UPDATE": .Add "DELETE": .Add "COUNT"

  38. .Add "html": .Add "head": .Add "title": .Add "body": .Add "p": .Add "h1": .Add " h2"

  39. .Add "h3": .Add "center": .Add "ul": .Add "ol": .Add "li": .Add "a"

  40. .Add "input": .Add "form": .Add "b"

  41. End With   

  42. isType = isSpecial(w, types)   

  43. End Function   

  44. Sub SyntaxHighlight()   

  45. Dim wordCount As Integer   

  46. Dim d As Integer   

  47. ' set the style of selection

  48. Selection.Style = "ccode"

  49. d = 0

  50. wordCount = Selection.Words.Count

  51. Selection.StartOf wdWord

  52. While d < wordCount

  53. d = d + Selection.MoveRight(wdWord, 1, wdExtend)

  54. w = Selection.Text

  55. If isKeyword(Trim(w)) = True Then

  56. Selection.Font.Color = wdColorBlue

  57. ElseIf isType(Trim(w)) = True Then

  58. Selection.Font.Color = wdColorDarkRed

  59. Selection.Font.Bold = True

  60. ElseIf isOperator(Trim(w)) = True Then

  61. Selection.Font.Color = wdColorBrown

  62. ElseIf Trim(w) = "//" Then

  63. 'lIne comment   

  64. Selection.MoveEnd wdLine, 1   

  65. commentWords = Selection.Words.Count   

  66. d = d + commentWords   

  67. Selection.Font.Color = wdColorGreen   

  68. Selection.MoveStart wdWord, commentWords   

  69. ElseIf Trim(w) = "/*" Then   

  70. 'block comment

  71. While Selection.Characters.Last <> "/"

  72. Selection.MoveLeft wdCharacter, 1, wdExtend

  73. Selection.MoveEndUntil ("*")

  74. Selection.MoveRight wdCharacter, 2, wdExtend

  75. Wend

  76. commentWords = Selection.Words.Count

  77. d = d + commentWords

  78. Selection.Font.Color = wdColorGreen

  79. Selection.MoveStart wdWord, commentWords

  80. End If

  81. 'move the start of selection to next word   

  82. Selection.MoveStart wdWord   

  83. Wend   

  84. ' prepare For set lIne number   

  85. Selection.MoveLeft wdWord, wordCount, wdExtend   

  86. SetLIneNumber   

  87. End Sub   

  88. Private Sub SetLIneNumber()   

  89. Dim lines As Integer   

  90. lines = Selection.Paragraphs.Count   

  91. Selection.StartOf wdParagraph   

  92. For l = 1 To lines   

  93. lIneNum = l & " "

  94. If l < 10 Then   

  95. lIneNum = lIneNum & " "

  96. End If   

  97. Selection.Text = lIneNum   

  98. Selection.Font.Bold = False   

  99. Selection.Font.Color = wdColorAutomatic   

  100. p = Selection.MoveDown(wdLine, 1, wdMove)   

  101. Selection.StartOf wdLine   

  102. Next   

  103. End Sub   

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

Word中怎么设置代码高亮?word中关键字高亮的设置方法

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

标签:word,代码高亮
0
投稿

猜你喜欢

  • Win10专业版无法读取文件或目录损坏怎么处理?

    2023-11-23 22:20:12
  • Win10更新与Virtualbox冲突,但从应用管理处找不到该软件怎么办?

    2023-11-27 03:54:10
  • Word里面工具栏字体的图标没了,怎么弄?

    2023-11-30 03:57:23
  • 2招解决Word排版遇到的问题

    2022-05-01 10:41:41
  • Word打开有的文件但是不显示内容怎么办

    2023-11-30 15:17:33
  • word没保存怎么恢复?word未保存如何恢复?

    2023-09-19 06:40:26
  • Word2007文档种怎么在底部插入Excel表格?

    2023-01-23 18:26:04
  • Word2003无法输入数字2

    2022-01-16 22:40:52
  • Word设置书籍装订式双面打印

    2023-10-20 02:03:20
  • word页码如何自动设置

    2022-10-18 16:38:33
  • WORD中插入的图片打印出来不清晰

    2023-11-29 18:09:12
  • win10和win7系统的配置要求如何?win10系统的配置参数简介

    2023-09-06 06:41:09
  • Office程序安装的相关问题解答

    2023-08-30 20:28:22
  • word设置护眼颜色的两种方法

    2022-05-23 21:29:59
  • Word中输入直引号变为弯引号

    2023-12-03 09:30:39
  • 如何在word2013中删除换行符

    2023-11-30 09:55:15
  • 如何在word插入另一个Word文件的内容

    2023-05-22 20:24:07
  • Word应用怎么让Word帮助我学习日语

    2023-01-05 07:50:35
  • Word 2007基础:删除自定义库

    2023-12-13 03:33:44
  • Word文档如何添加行号 Word文档添加行号设置方法

    2022-12-15 19:16:35
  • asp之家 电脑教程 m.aspxhome.com