如何开发包含正则expression式的Excelmacros,以便在Windows和Mac中使用

我开发了一个使用VBScript.RegExp的Excel 2010 VBAmacros。 我的一个用户显然使用支持VBA的Excel Mac 2011,但没有VBScript.RegExp

我已经看到了几个职位,提到可以使用AppleScript创build自己的RegEx函数,可以由VBAmacros调用。 但是,似乎必须有一个Mac版本的Excel文件和一个Windows版本。 这并不理想。

有没有另外一种方法可以在Windows和Mac兼容的VBA中实现正则expression式?

不幸的是,目前还没有find解决scheme – 目前的解决方法是简单地用一系列Replace调用(或其他必需的操作)replace正则expression式。

我试图从单元格中去除html标签时尝试使用regexp库的这个问题。

我知道这个问题并没有被logging为期望的用途,但是,如果是或者未来的访问者试图用Mac Excel 2011中的单元格中的标签replace正则expression式函数来删除HTML,这个用户定义的函数将会起作用。 对原作者的道歉,我只是发现它,但不能再find我害怕的来源。

 Public Function StripHTML(zDataIn As String) As String Dim iStart As Integer Dim iEnd As Integer Dim iLen As Integer Do While InStr(zDataIn, "<") > 0 iStart = InStr(zDataIn, "<") iEnd = InStr(iStart, zDataIn, ">") iLen = Len(zDataIn) If iStart = 1 Then zDataIn = Right(zDataIn, iLen - iEnd) Else If iLen = iEnd Then zDataIn = Left(zDataIn, iStart - 1) Else zDataIn = Mid(zDataIn, 1, iStart - 1) & _ Right(zDataIn, iLen - iEnd) End If End If Loop StripHTML = zDataIn End Function 

如果您不介意支付99美元,那么就是Aivosto RegExpr 。 显然这是一个纯粹的VBA解决scheme,应该可以在PC和Mac VBA上运行。

另外,为PC和Mac编写单独的解决scheme,然后使用编译器指令来分离在每个平台上运行的代码位