Word中怎么设置代码高亮?word中关键字高亮的设置方法
发布时间:2023-04-11 19:23:24
Word中怎么设置代码高亮?一般编辑器中关键字都可以设置高亮,这样醒目而且重点突出,但是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”-“运行”,然后执行就可以了。处理较长代码时需要一定时间,请耐心等待。
注意事项:处理前一定要对原文章进行备份,以免前功尽弃。处理较长代码时需要一定时间,请耐心等待。


猜你喜欢
- Win10可以说是现在最常用的系统之一,本身就自带了很多的功能和服务,但有些功能和服务有些我们平常很少或者根本用不到,那么应该如何解决这些服
- 怎么批量删除Excel电子表格中不同的文字?有朋友想要快速替换掉表格里不规则的字段,但是既然想批量完成操作,就一定要找到某个规律,然后将不规
- 埋堆堆怎么领取会员?埋堆堆是一款非常好用视频播放器,在埋堆堆中我们想要成为会员的话,除了充值,我们还可以免费领取到会员,那么你知道要怎么进行
- 大家可能更喜欢用usb来进行启动安装的方法,这个方法从较早的usb安装盘开始就一直在用。那么win10的usb启动设置跟之前的系统一样吗,会
- 电脑的使用时间长了,就有可能会出现鼠标左键失灵或者不灵敏的情况,出现这个问题不要着急,可以通过以下几种方式排查一下,检查一下鼠标是否完全损坏
- win10 21h1值不值得升级呢?微软正式发布Win10 21h1了,目前正在分阶段推送当中,相信很多小伙伴也都在观望中,到底要不要升级2
- 在excel表格中,一些为填写的空白单元格,有时会比较妨碍我们的数据统计,应该怎么删除掉呢?不懂的朋友,下面就跟小编一起来看看吧,欢迎大家来
- 随着科技的发展,电脑已经进入了许多人的生活。它给我们带来了很使我们增长了见识,开阔了眼界。电脑分为三大主件:显示器、主机和键盘,还有一些辅助
- 在今天的金山wps教程中,我们需要学习的是将数字转换为中文大写格式的方法。这一方法,常常用于人民币统计的时候使用。那么,怎么才能做到简单、轻
- 芒果tv会员如何送好友?开通了芒果tv会员,就可以观看很多加v视频。想要送一个会员给好友,具体该怎么操作?下面就是芒果TV会员送好友的两个方
- 常用快捷键快捷键 作用Ctrl+Shift+Spacebar 创建不间断空格Ctrl+ -(连字符)创建不间断连字符Ctrl+B 使字符变为
- Win10的任务栏上总会显示一些程序的小图标,它可以帮助用户更加方便快捷的操作系统。不过,有些用户最近却发现自己的win10系统任务栏中突然
- 电脑用久了就容易出现一些这样或那样的毛病,近期就有部分Win10用户反映自己的电脑在开机后显示器出现了无信号的情况,对此十分苦恼,那么有没有
- 最近,很多使用win10系统的用户,都曾经遇到过蓝屏故障。比如,最近有位win10用户在使用电脑时,就发现电脑突然出现了蓝屏,且提示错误CR
- 现在的人们都已经离不开word软件了,这是因为word软件可以更好的解决文档的编辑问题,提升了用户的编辑速度,也避免了很多的麻烦,所以wor
- 今天我们来学习一下用WPS去底纹图1话说萧远山出现后表明了自己的身份,萧峰激动不已,询问父亲当初到底谁是带头大哥,萧远山指着少林方丈说,“当
- 大家在使用win 7操作系统的过程中,是否出现过调节音条后电脑依然没声音的情况,本文将提供调节音条没声音的解决方法供大家了解 &n
- 准备配置windows请勿关闭计算机要多久?很多用户的电脑一整天都显示正在准备windows,怎么也进不去系统,有些电脑还会陷入无限重启,非
- PPT2016怎么制作腰鼓效果突出标题内容?ppt中的标题内容很多,想要使用放大镜样式突出重点内容,该怎么制作呢?下面我们就来看看详细的教程
- 如何在excel柱形图上添加折线图是一个提问率非常高的Excel图表问题,虽然不难,但还是有很多同学不会,今天本文以实例图文详解在excel