我自己做了好几个dll\ocx控件在工程中作了引用(win2000+word2000),但在不同的客户端环境中却出现了找不到工程或库的错误,现在我测了十台机子,九台是好的,有一台是xp+word2000就是报无法引用工程或库。我已经把所有的安全性等级将为无了,代码如下(ThisDocument):
Sub AutoExec()
Me.VBProject.References.AddFromFile VBA.Left(VBA.Environ("SYSTEMROOT"), 2) & "\Program Files\Common Files\Microsoft Shared\Speech\sapi.dll"
Me.VBProject.References.AddFromFile VBA.Environ("SYSTEMROOT") & "\system32\myink.ocx"
Me.VBProject.References.AddFromFile VBA.Environ("SYSTEMROOT") & "\Speech\vtxtauto.tlb"
Me.VBProject.References.AddFromFile VBA.Environ("SYSTEMROOT") & "\system32\findPro.ocx"
Me.VBProject.References.AddFromFile VBA.Left(VBA.Environ("SYSTEMROOT"), 2) & "\Program Files\Common Files\System\ADO\msado15.dll"
End Sub
在这台机子上我手动引用就可以了。还有我发现一个规律:就是在执行代码引用时,在winxp以上时使用left、Environ这些语法时需要在前面加上vba.,否则会报错,我就闹不懂为什么版本兼容会出这么多错误 |