【发布时间】:2017-06-23 09:32:04
【问题描述】:
我的任务是在 Microsoft Access 系统上修复 VB 中的一个问题,但我无法弄清楚。此问题仅发生在运行该软件的 5 台 PC 中的一台上。 我试过了
- 删除 Outlook & Access 并重新安装。
- 删除 Microsoft Access 应用程序并重新安装。
- 更改了代码以匹配我在另一个网站上找到的答案。
Dim objOutlook As Outlook.Application
Dim objMailItem As MailItem
Dim db As DAO.Database
'Create email object and send attachment
Set objOutlook = DetectOutlook()
If objOutlook Is Nothing Then
Set objOutlook = New Outlook.Application
End If
我尝试按照其他网站的建议将其更改为这个。
Dim objOutlook As Object
Dim objMailItem As MailItem
Dim db As DAO.Database
'Create email object and send attachment
If GetObject(, "Outlook.Application") = True Then 'Outlook was already running
Set objOutlook = GetObject(, "Outlook.Application") 'Bind to existing instance of Outlook
Else 'Could not get instance of Outlook, so create a new one
Set objOutlook = New Outlook.Application
End If
此代码更改最终导致 Access 在运行时关闭。 我是 VB 和 Access 开发的新手,所以也许这是一个简单的修复,如果您需要任何进一步的信息,请询问。其 2016 年微软仅供参考。 提前谢谢你
【问题讨论】:
-
我怀疑这个问题是引用了不同的 Outlook 版本。如果您的用户环境可能使用不同版本的 Outlook 或访问权限,则需要使用后期绑定。您发布的第二个代码已经完成了一半,但我建议您在此处阅读; sourcedaddy.com/ms-access/late-binding.html
-
就是这样,谢谢。使用我的第二个答案,我将
Set objOutlook = New Outlook.Application更改为Set objOutlook = CreateObject("Outlook.Application")如果您想将其添加为答案,我会接受。非常感谢