此類高亮根據Editplus高亮來做的
復制代碼 代碼如下:
Class Wyd_AspCodeHighLight
Private RegEx
Public Keyword,ObjectCommand,Strings,VBCode
Public KeyWordColor,ObjectCommandColor,StringsColor,Comment,CodeColor
Private Sub Class_Initialize()
Set RegEx = New RegExp
RegEx.IgnoreCase = True ' 設置是否區分字母的大小寫 True 不區分。
RegEx.Global = True ' 設置全程性質。
KeyWordColor="#0000FF"
ObjectCommandColor="#FF0000"
StringsColor="#FF00FF"
Comment="#008000"
CodeColor="#993300"
Keyword="Set|Private|If|Then|Sub|End|Function|For|Next|Do|While|Wend|True|False|Nothing|Class" '關建字 請自己添加
ObjectCommand="Left|Mid|Right|Int|Cint|Clng|String|Join|Array" '函數 請自己添加
VBCode=""
End Sub
Private Sub Class_Terminate()
Set RegEx = Nothing
End Sub
Private Function M_Replace(Str,Pattern,Color)
RegEx.Pattern = Pattern ' 設置模式。
M_Replace=RegEx.Replace(Str,"<font color="&Color&">$1</font>")
End Function
Private Function String_Replace(Str,Pattern,Pattern1,Color,IsString)
Dim Temp,RetStr
RegEx.Pattern =Pattern1
Set Matches = RegEx.Execute(Str)
For Each Match In Matches ' 遍歷 Matches 集合
Temp=Re(Match.value)
Str = Replace(Str,Match.value,Temp)
Next
RegEx.Pattern = Pattern ' 設置模式。
If IsString=1 Then
String_Replace=RegEx.Replace(Str,"<font color="&Color&">"$1"</font>")
Else
String_Replace=RegEx.Replace(Str,"<font color="&Color&">$1</font>")
End If
End Function
Private Function Re(Str)
Dim TRegEx,Temp
Set TRegEx = New RegExp
TRegEx.IgnoreCase = True ' 設置是否區分字母的大小寫。