上周开发时遇到一个引用失败的问题,后来发现是OFFCE 2016 有个组件没有加载上(Microsoft Office Web Components 9.0)
详细参考:Access中LEFT函数未定义的解决方案\表达式中'left'函数未定义
http://www.accessoft.com/article-show.asp?id=7068
解决了引用的问题,接着出现了一个能否自动引用的问题?回答是肯定的。
详细参考:【Access懒人工具】用VBA代码自动引用OLE项|代码引用OLE Automation
http://www.accessoft.com/article-show.asp?id=8975
看到懒人工具的名称,突发奇想,能不能更懒,修改了一下代码
附件下载:
点击下载此附件
Sub SetRF()
On Error Resume Next '当出错时直接退出
Dim rf
Dim strFileName As String
strFileName = CurrentProject.Path & "\Components\MSOWC.DLL" '确定引用的文件地址
Set rf = Application.References.AddFromFile(strFileName)
End Sub
首先将要引用的文件存放到指定位置
不做判断直接引用,如果引用了或者文件不存在,出错情况下,就直接退出。
加载前,无Microsoft Office Web Components 9.0
加载后
注意:引用路径不是什么C:\windows\system32\,而是当前路径下的。