【Access引用】丢失:Microsoft word 15.0 object Library-布鲁斯
Access软件网QQ交流学习群(群号码198465573),欢迎您的加入!
首页 >技术文章> Access数据库-模块/函数/VBA


【Access引用】丢失:Microsoft word 15.0 object Library

发表时间:2014/11/24 16:17:37 评论(1) 浏览(15036)  评论 | 加入收藏 | 复制
   
摘 要:公司升级office365,导致在office365环境下开发的ACCESS版本在office2010环境中不能执行(XP系统居多)。冥思苦想,终于想到折中的解决办法。

access引用一般的原理:从本地PC种读取系统类库(可以简单理解为C盘的 System 32),直接引用其中的dll、olb等文件。

升级版本会遇到问题:就是在开发PC上有的,客户端不一定有。导致【丢失:XXXXXX】的引用错误。

正 文:

类库引用


公司升级office365,导致在office365环境下开发的ACCESS版本在office2010环境中不能执行(XP系统居多)。冥思苦想,终于想到折中的解决办法。


access引用一般的原理:从本地PC种读取系统类库(可以简单理解为C盘的 System 32),直接引用其中的dll、olb等文件。

升级版本会遇到问题:就是在开发PC上有的,客户端不一定有。导致【丢失:XXXXXX】的引用错误。

            

分析:既然客户端不一定有该dll、olb文件,那么一起直接给他就行了

过程:

    1、新建文件夹【Library】

点击图片看大图

 

    2、将你想要的引用文件放在该文件夹下(具体引用路径可以参考这个示例:http://www.accessoft.com/article-show.asp?id=8984

    3、将客户端ACCESS和Library 放在同个文件目录下

    4、代码编写

        4.1、客户端登陆界面加入自动引用代码:(最好做成一个模块,方便以后各个不同的access引用)

            '针对的是【missing:XXXX】引用的情况。

 '折中的情况
Function M_ResetReferences()

On Error GoTo fexit:

     Dim REFE As References     '声明REFE为引用
     Dim strFileName As String   '声明strFileName为文本型变量
     Dim rf
     Set REFE = Application.References
''    For Each rf In REFE                           '在引用中循环查找,将已经引用的移除
'''        Debug.Print rf.Name
''        Select Case rf.Name
''        Case "Word"
''            Application.References.Remove rf      '移除
''        End Select
''    Next
     strFileName = CurrentProject.Path & "\Library\MSWORD.OLB"           'dll文件存放位置
     If Len(Dir(strFileName)) > 0 Then
         Set rf = Application.References.AddFromFile(strFileName)
'        MsgBox "引用成功!"
     Else
         MsgBox "引用不存在!"
     End If
    
fexit:
'    Debug.Print Err.Description, Err.Number
     If Err.Number = 32813 Then
'        MsgBox "引用已经存在!" & vbCrLf & "无需再引用!!", vbExclamation
     End If
         Exit Function
End Function

 

    5、完成上面的步骤,你就可以打包程序发布出去(我直接弄成压缩包发出去,小系统不用搞得太麻烦!)

   

 

注意:

    在发布前先把开发中的引用清除掉。不然系统仍然会报错的。(原因就是,在打开窗体之前,系统就会检测引用,如果引用高级的版本,它照样报错。大家多想想,这里就不再说了)


Access软件网交流QQ群(群号:198465573)
 
 相关文章
引用DAO3.6的方法   【竹笛  2007/5/18】
【Access懒人工具】用VBA代码重新引用DAO  【Bobby  2013/11/25】
【Access懒人工具】用VBA代码重新引用ADO  【麥田  2013/12/5】
【Access懒人工具】用VBA代码自动引用树控件|代码引用Mic...  【麥田  2013/12/6】
【Access懒人工具】用VBA代码自动引用OLE项|代码引用OL...  【麥田  2013/12/7】
Access丢失的引用勾去掉可以解决一些编译错误  【风行  2014/8/31】
常见问答
技术分类
相关资源
文章搜索
关于作者

布鲁斯

文章分类

文章存档

友情链接