Access开发培训
网站公告
·Access专家课堂QQ群号:151711184    ·Access快速开发平台下载地址及教程    ·欢迎加入Access专家课堂微信群!    ·如何快速搜索本站文章|示例|资料    
您的位置: 首页 > 技术文章 > Access数据库-模块/函数/VBA

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

时 间:2014-11-24 16:17:37
作 者:布鲁斯   ID:31999  城市:中山
摘 要:公司升级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群 (群号:483923997)       Access源码网店

常见问答:

技术分类:

相关资源:

专栏作家

关于我们 | 服务条款 | 在线投稿 | 友情链接 | 网站统计 | 网站帮助