在大多数情况下,后期绑定将解决VBA中引用的问题,除非您有一些不寻常的引用.大多数问题是由于后期绑定可以克服的库版本的差异造成的.对于VBA,通常建议您使用早期绑定进行开发,但使用后期绑定进行发布.后期绑定的主要缺点是将内置常量更改为值(速度不再是以前的问题.)
所以:
Dim fs As Object 'Instead of FileSystemObject '
Dim xl As Object 'Instead of Excel.Application '
Set fs=CreateObject("Scripting.FileSystemObject")
Set xl=CreateObject("Excel.Application")
'Value instead of built-in constant '
ForReading=2
Set f = fs.OpenTextFile("c:\testfile.txt", ForReading)
Run Code Online (Sandbox Code Playgroud)
不要让文档公开功能,而是将其作为 Office 的加载项(套件或单个应用程序,由您选择)。这样,您就不必处理引用。
然后,只需分发包含加载项的安装包,该加载项会注册组件并将加载项注册到适当的 Office 应用程序。
VB6 在这里可能是一个好主意,因为它与 VBA 相似。