MS Access VBA参考

时间:2017-12-20 15:40:14

标签: ms-access access-vba

我有这个数据库,它工作得很完美,但今天它开始讨厌我了。我开始收到编译错误:无法找到项目或库。我环顾四周,发现当在不同的计算机上使用前端时,在VBA和引用下,它缺少Microsoft Word 15.0对象库的引用。

我的电脑我检查了Microsoft Word 16.0对象库。如何才能在15.0和16.0的其他计算机上使用它?

这是代码

<Order OrderNo="T122345">
<Customer FirstName="John" LastName="Doe" MobileNo="123456789"/>
<OrderDates>
    <OrderDate Type="PickDate" Name="PickUpdateDate" Value="2017-11-10 10:00:00" />
</OrderDates>
</Order>

1 个答案:

答案 0 :(得分:0)

在开发过程中添加对Word的引用有利于能够使用强类型的单词对象,从而能够利用IntelliSense。但是,正如您所经历的那样,这些引用对版本控制是明智的。因此,我建议您在实现开发后删除对Word的引用。您还必须用Object替换所有与Word相关的类型,即使用后期绑定。这使得应用程序在版本控制方面更加健壮。

您可以使用此代码段获取已打开的现有Word实例或打开一个新实例,而不会引用任何Word DLL。

Public Function GetWordApplication() As Object
    'Gets an active Word application or opens a new Word instance.
    'Raises Error No. 8 if word cannot be opened.

    On Error Resume Next
    'Find existing instance of Word
    Set GetWordApplication = GetObject(, "Word.Application")
    If Err.Number <> 0 Then 'Not found, create new instance.
        Set GetWordApplication = CreateObject("Word.Application")
    End If

    'Following code is optional. You can instead test for Nothing at the call site
    On Error Goto 0
    If GetWordApplication Is Nothing Then
        Err.Raise 8, "YourApp.GetWordApplication", "Word could not be opened."
    End If
End Function