广告合作
  • 今日头条

    今日头条

  • 百度一下

    百度一下,你就知道

  • 新浪网

    新浪网 - 提供新闻线索,重大新闻爆料

  • 搜狐

    搜狐

  • 豆瓣

    豆瓣

  • 百度贴吧

    百度贴吧——全球领先的中文社区

  • 首页 尚未审核订阅工具 订阅

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

    来源:网络收集  点击:  时间:2024-02-22
    【导读】:
    有时写文档时需要将代码粘贴到word中,但直接粘贴到word中的代码虽能保持换行与缩进等格式,但在一般代码编辑工具中的关键字高亮功能却无法实现。该方法无需任何插件,只需要制作一个宏即可实现类似sublime的显示效果工具/原料moreWord方法/步骤1/7分步阅读

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

    2/7

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

    3/7

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

    4/7

    新建宏,步骤如图

    5/7

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

    6/7

    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

    7/7

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

    注意事项

    处理前一定要对原文章进行备份,以免前功尽弃。

    处理较长代码时需要一定时间,请耐心等待。

    word代码高亮
    本文关键词:

    版权声明:

    1、本文系转载,版权归原作者所有,旨在传递信息,不代表看本站的观点和立场。

    2、本站仅提供信息发布平台,不承担相关法律责任。

    3、若侵犯您的版权或隐私,请联系本站管理员删除。

    4、文章链接:http://www.1haoku.cn/art_100297.html

    相关资讯

    ©2019-2020 http://www.1haoku.cn/ 国ICP备20009186号05-05 10:16:22  耗时:0.024
    0.0241s