国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 辦公 > Word > 正文

Word中怎么設置代碼高亮?word中關鍵字高亮的設置方法

2019-12-13 12:39:36
字體:
來源:轉載
供稿:網友

有時寫文檔時需要將代碼粘貼到word中,但直接粘貼到word中的代碼雖能保持換行與縮進等格式,但在一般代碼編輯工具中的關鍵字高亮功能卻無法實現。該方法無需任何插件,只需要制作一個宏即可實現類似sublime的顯示效果

1、首先完成當前所有內容,建議把代碼放入單獨的文本框中,方便處理,也有較好的視覺效果。記得一定要拷貝一份副本!因為很可能因為代碼量比較多,處理宏的時候卡死,只能強制退出WORD了。

2、當前文檔新定義一個樣式,命名為"code",專門用來對代碼進行格式化。由于是代碼,所以推薦中文使用黑體(注釋等),而英文使用等寬字體(courier new)。步驟如圖。

3、選中代碼,單擊樣式庫 ccode,將代碼應用該樣式

4、新建宏,步驟如圖

5、將VBA代碼(在下一步中)拷貝進去,保存后關閉 (有VBA或相關程序經驗者可根據自己需要進行相關修改,如關鍵詞和高亮顏色等)

復制內容到剪貼板
  1. 'script to high light code In document  
  2.  
  3. Private Function isKeyword(w) As Boolean  
  4.  
  5. Dim keys As New Collection  
  6.  
  7. With keys  
  8.  
  9. .Add "if": .Add "else": .Add "elseif": .Add "case": .Add "switch": .Add "break"  
  10.  
  11. .Add "for": .Add "continue": .Add "do": .Add "while": .Add "foreach": .Add "echo"  
  12.  
  13. .Add "define": .Add "array": .Add "NULL": .Add "function": .Add "include": .Add "return"  
  14.  
  15. .Add "global": .Add "as": .Add "die": .Add "header": .Add "this": .Add "empty"  
  16.  
  17. .Add "isset": .Add "mysql_fetch_assoc": .Add "class": .Add "style"  
  18.  
  19. .Add "name": .Add "value": .Add "type": .Add "width": .Add "_POST": .Add "_GET"  
  20.  
  21. End With  
  22.  
  23. isKeyword = isSpecial(w, keys)  
  24.  
  25. End Function  
  26.  
  27. Private Function isSpecial(ByVal w As String, ByRef col As Collection) As Boolean  
  28.  
  29. For Each i In col  
  30.  
  31. If w = i Then  
  32.  
  33. isSpecial = True  
  34.  
  35. Exit Function  
  36.  
  37. End If  
  38.  
  39. Next  
  40.  
  41. isspeical = False  
  42.  
  43. End Function  
  44.  
  45. Private Function isOperator(w) As Boolean  
  46.  
  47. Dim ops As New Collection  
  48.  
  49. With ops  
  50.  
  51. .Add "+": .Add "-": .Add "*": .Add "/": .Add "&": .Add "^": .Add ";"  
  52.  
  53. .Add "%": .Add "#": .Add "!": .Add ":": .Add ",": .Add "."  
  54.  
  55. .Add "||": .Add "&&": .Add "|": .Add "=": .Add "++": .Add "--"  
  56.  
  57. .Add "'": .Add """"  
  58.   
  59. End With   
  60.   
  61. isOperator = isSpecial(w, ops)   
  62.   
  63. End Function   
  64.   
  65. Private Function isType(ByVal w As String) As Boolean   
  66.   
  67. Dim types As New Collection   
  68.   
  69. With types   
  70.   
  71. .Add "SELECT": .Add "FROM": .Add "WHERE": .Add "INSERT": .Add "INTO": .Add "VALUES": .Add "ORDER"  
  72.   
  73. .Add "BY": .Add "LIMIT": .Add "ASC": .Add "DESC": .Add "UPDATE": .Add "DELETE": .Add "COUNT"  
  74.   
  75. .Add "html": .Add "head": .Add "title": .Add "body": .Add "p": .Add "h1": .Add " h2"  
  76.   
  77. .Add "h3": .Add "center": .Add "ul": .Add "ol": .Add "li": .Add "a"  
  78.   
  79. .Add "input": .Add "form": .Add "b"  
  80.   
  81. End With   
  82.   
  83. isType = isSpecial(w, types)   
  84.   
  85. End Function   
  86.   
  87. Sub SyntaxHighlight()   
  88.   
  89. Dim wordCount As Integer   
  90.   
  91. Dim d As Integer   
  92.   
  93. ' set the style of selection  
  94.  
  95. Selection.Style = "ccode"  
  96.  
  97. d = 0  
  98.  
  99. wordCount = Selection.Words.Count  
  100.  
  101. Selection.StartOf wdWord  
  102.  
  103. While d < wordCount  
  104.  
  105. d = d + Selection.MoveRight(wdWord, 1, wdExtend)  
  106.  
  107. w = Selection.Text  
  108.  
  109. If isKeyword(Trim(w)) = True Then  
  110.  
  111. Selection.Font.Color = wdColorBlue  
  112.  
  113. ElseIf isType(Trim(w)) = True Then  
  114.  
  115. Selection.Font.Color = wdColorDarkRed  
  116.  
  117. Selection.Font.Bold = True  
  118.  
  119. ElseIf isOperator(Trim(w)) = True Then  
  120.  
  121. Selection.Font.Color = wdColorBrown  
  122.  
  123. ElseIf Trim(w) = "//" Then  
  124.  
  125. 'lIne comment   
  126.   
  127. Selection.MoveEnd wdLine, 1   
  128.   
  129. commentWords = Selection.Words.Count   
  130.   
  131. d = d + commentWords   
  132.   
  133. Selection.Font.Color = wdColorGreen   
  134.   
  135. Selection.MoveStart wdWord, commentWords   
  136.   
  137. ElseIf Trim(w) = "/*" Then   
  138.   
  139. 'block comment  
  140.  
  141. While Selection.Characters.Last <> "/"  
  142.  
  143. Selection.MoveLeft wdCharacter, 1, wdExtend  
  144.  
  145. Selection.MoveEndUntil ("*")  
  146.  
  147. Selection.MoveRight wdCharacter, 2, wdExtend  
  148.  
  149. Wend  
  150.  
  151. commentWords = Selection.Words.Count  
  152.  
  153. d = d + commentWords  
  154.  
  155. Selection.Font.Color = wdColorGreen  
  156.  
  157. Selection.MoveStart wdWord, commentWords  
  158.  
  159. End If  
  160.  
  161. 'move the start of selection to next word   
  162.   
  163. Selection.MoveStart wdWord   
  164.   
  165. Wend   
  166.   
  167. ' prepare For set lIne number   
  168.   
  169. Selection.MoveLeft wdWord, wordCount, wdExtend   
  170.   
  171. SetLIneNumber   
  172.   
  173. End Sub   
  174.   
  175. Private Sub SetLIneNumber()   
  176.   
  177. Dim lines As Integer   
  178.   
  179. lines = Selection.Paragraphs.Count   
  180.   
  181. Selection.StartOf wdParagraph   
  182.   
  183. For l = 1 To lines   
  184.   
  185. lIneNum = l & " "  
  186.   
  187. If l < 10 Then   
  188.   
  189. lIneNum = lIneNum & " "  
  190.   
  191. End If   
  192.   
  193. Selection.Text = lIneNum   
  194.   
  195. Selection.Font.Bold = False   
  196.   
  197. Selection.Font.Color = wdColorAutomatic   
  198.   
  199. p = Selection.MoveDown(wdLine, 1, wdMove)   
  200.   
  201. Selection.StartOf wdLine   
  202.   
  203. Next   
  204.   
  205. End Sub   
  206.   

6、選定代碼文本,然后執行highlight腳本:“視圖”-“宏”- 選中“SyntaxHighlight”-“運行”,然后執行就可以了。處理較長代碼時需要一定時間,請耐心等待。

注意事項:處理前一定要對原文章進行備份,以免前功盡棄。處理較長代碼時需要一定時間,請耐心等待。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 娄底市| 沿河| 道孚县| 浦北县| 石楼县| 布尔津县| 盈江县| 垫江县| 乌拉特中旗| 农安县| 白河县| 天祝| 广西| 阿拉尔市| 建平县| 左权县| 六枝特区| 乃东县| 竹溪县| 三河市| 甘德县| 卓资县| 格尔木市| 余干县| 囊谦县| 容城县| 桃江县| 聊城市| 蓝田县| 彭水| 南江县| 涟源市| 潜山县| 辽阳市| 郸城县| 庄浪县| 辽阳县| 东至县| 海丰县| 辽宁省| 柘城县|