Excel:用宏的正则表达式替换超链接中的字符串



我正试图通过宏替换Excel 2003(VB5.5)中的字符串(例如所有数字)。现在,我有了这个代码:

Sub DeleteDigits()
Dim hLink As Hyperlink
Dim wSheet As Worksheet
For Each wSheet In Worksheets
    For Each hLink In wSheet.Hyperlinks
        hLink.Address = regEx.Replace(hLink.Address, "d", "")
    Next hLink
Next wSheet
End Sub

我在引用中检查了正则表达式,但我不知道如何通过hLink.Address不是对象的消息,这就是我得到的错误。

Replace不支持三个参数。必须首先通过属性设置模式。像这样:

Sub DeleteDigits()
    Dim hLink As Hyperlink
    Dim wSheet As Worksheet
    Dim regEx As New VBScript_RegExp_55.RegExp
    For Each wSheet In Worksheets
        For Each hLink In wSheet.Hyperlinks
            regEx.Pattern = "d"
            hLink.Address = regEx.Replace(hLink.Address, "")
        Next hLink
    Next wSheet
End Sub

编辑:
支持文件:

"模式-用于定义正则表达式的字符串。必须在使用正则表达式对象之前设置此字符串。"

Replace(搜索字符串,替换字符串)-Replace方法以2个字符串作为参数。如果它能够成功地匹配搜索字符串中的正则表达式,则用替换字符串替换该匹配项,并返回新字符串。如果没有找到匹配项,则返回原始搜索字符串

http://msdn.microsoft.com/en-us/library/ms974570.aspx#scripting05_topic2

最新更新