标签:union iso elseif ide string xpl until sig data
整理文档比较费事,提供个脚本放在VBA里,使Word 代码高亮的一种方法是改变颜色
‘script to high light code In document Private Function isKeyword(w) As Boolean Dim keys As New Collection With keys .Add "onStart": .Add "Log": .Add "volatile": .Add "friend" .Add "abstract": .Add "long": .Add "while": .Add "if" .Add "Activity": .Add "native": .Add "FALSE": .Add "implements" .Add "asm": .Add "new": .Add "import" .Add "auto": .Add "new?": .Add "enabled": .Add "inlIne" .Add "bool": .Add "android": .Add "instanceof" .Add "boolean": .Add "onBind": .Add "receiver": .Add "int" .Add "boolean?": .Add "onCreate": .Add "exported": .Add "int?" .Add "break": .Add "onDestroy": .Add "filter": .Add "Intent" .Add "BroadcastReceiver": .Add "onRebind": .Add "action": .Add "interface" .Add "byte": .Add "onUnbind": .Add "category": .Add "isDebug?" .Add "case": .Add "package": .Add "application": .Add "synchronized" .Add "char": .Add "private": .Add "manifest": .Add "template" .Add "class": .Add "protected": .Add "xmlns": .Add "this" .Add "class?": .Add "protected?": .Add "version": .Add "throw?" .Add "const": .Add "public": .Add "encoding": .Add "transient" .Add "ContentProvider": .Add "register": .Add "utf": .Add "typename" .Add "continue": .Add "return": .Add "INTERNET": .Add "union" .Add "default": .Add "sendOrderBroadcast": .Add "RECEIVE_USER_PRESENT": .Add "unsigned" .Add "do": .Add "Service": .Add "WAKE_LOCK": .Add "virtual" .Add "double": .Add "short": .Add "READ_PHONE_STATE": .Add "void" .Add "else": .Add "signed": .Add "WRITE_EXTERNAL_STORAGE" .Add "enum": .Add "static": .Add "READ_EXTERNAL_STORAGE" .Add "explicit": .Add "static?": .Add "VIBRATE": .Add "CHANGE_WIFI_STATE" .Add "extends": .Add "strictfp": .Add "WRITE_SETTINGS": .Add "CHANGE_NETWORK_STATE" .Add "extern": .Add "String?": .Add "ACCESS_NETWORK_STATE": .Add "@" .Add "final": .Add "struct": .Add "ACCESS_WIFI_STATE": .Add "super" .Add "float": .Add "for": .Add "switch": .Add "typedef": .Add "sizeof" .Add "try": .Add "namespace": .Add "catch": .Add "operator" .Add "cast": .Add "NULL": .Add "null": .Add "delete": .Add "throw" .Add "dynamic": .Add "reinterpret": .Add "true": .Add "TRUE" .Add "pub": .Add "provider": .Add "authorities": .Add "Add": .Add "get": .Add "set" .Add "uses": .Add "permission": .Add "allowBackup" .Add "grant": .Add "URI": .Add "meta": .Add "data": .Add "false": .Add "string": .Add "integer" 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 ‘ set the style of selection Private Function isType(ByVal w As String) As Boolean Dim types As New Collection With types .Add "void": .Add "struct": .Add "union": .Add "enum": .Add "char": .Add "short": .Add "int" .Add "long": .Add "double": .Add "float": .Add "signed": .Add "unsigned": .Add "const": .Add "static" .Add "extern": .Add "auto": .Add "register": .Add "volatile": .Add "bool": .Add "class": .Add " private" .Add "protected": .Add "public": .Add "friend": .Add "inlIne": .Add "template": .Add "virtual" .Add "asm": .Add "explicit": .Add "typename" 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 = "java code" 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 ‘ 深绿色。lIne comment 水绿色 wdColorAutomatic wdColorBlueGray 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
标签:union iso elseif ide string xpl until sig data
原文地址:http://www.cnblogs.com/endv/p/7499332.html