操作系统是xp,在工程中引用了Microsoft VBScript Regular Expressions 5.5,可以正常使用正则表达式, CreateObject("vbscript.regexp")正常。但是代码在win2000和win2003的机器上编译时 CreateObject("vbscript.regexp")便会出错。查看工程引用的是Microsoft VBScript Regular Expressions(没有版本号)。本来打算在2000和2003上装Microsoft VBScript Regular Expressions 5.5,但是system32下,该文件会被系统自动还原为Microsoft VBScript Regular Expressions。请问有什么解决方法吗?有了解的话,给一个Microsoft VBScript Regular Expressions(没有版本号)的示例代码也可以。谢谢大家了先!!

解决方案 »

  1.   

    我是2003SP2,引用列表里只有1.0与5.5,没发现没有版本号的.你既然已经引用了,就直接用NEW吧,为什么还要使用CreateObject呢?
      

  2.   

    引用了之后在IDE里按F2,可以查看其接口
      

  3.   

    编译还是引用时候出错?
    理论上编译是不会检查COM是否存在的。
    你的代码有问题
    Dim o As Object '这个一定要是Object
    Set o = CreateObject("vbscript.regexp")
      

  4.   

    CreateObject与是否引用无关. 已经引用了,就直接用NEW即可
      

  5.   

    我的 WinXP SP3 同时有 1.0 和 5.5,通常没有特殊需要,尽量用低版本的 1.0,这样兼容性好。
    已经引用了就不要使用 CreateObject。
      

  6.   

    1、采取不引用的方法:
    Dim ss As Object
    Set ss = CreateObject("vbscript.regexp")
    2、在W2000中建立一个工程,引用后查看是否有regexp类,可能名字不同?
      

  7.   

    统一不了版本就不要引用了,用CreateObject 吧