Outlook 2016 VBA在Application.GetNamespace上的类型不匹配(Windows更新后)。

问题描述 投票:0回答:1

我有一个Outlook 2016 VBA宏运行了一年,以检查到达收件箱的电子邮件。今天,在安装Windows 10更新后,当这个宏运行时,我得到一个类型不匹配的错误。错误行是 Set olNs = Application.GetNamespace("MAPI") 下面一行。

Private Sub Application_Startup()
    Dim olNs As Outlook.NameSpace
    Dim Inbox  As Outlook.MAPIFolder
    Dim olRecip As Recipient
    Dim dt As String
    Dim strFile_Path As String

    dt = Format(CStr(Now), "yyyy_mmm_dd_hh_mm")
    strFile_Path = "d:\temp\parking.log"
    Open strFile_Path For Append As #1
    Write #1, dt & " " & "Application_Startup() triggered"
    Close #1


    Set olNs = Application.GetNamespace("MAPI")
    Set olRecip = olNs.CreateRecipient("[email protected]")
    Set Inbox = olNs.Folders("[email protected]").Folders("Inbox")
    Set Items = Inbox.Items
End Sub

有什么办法可以解决这个问题吗?

vba outlook mapi windows-update outlook-2016
1个回答
0
投票

首先,你需要确保COM引用设置正确。

enter image description here

您可以尝试在不设置本地变量的情况下运行代码。

Private Sub Application_Startup() 

 MsgBox "Welcome, " & Application.GetNamespace("MAPI").CurrentUser 

 Application.ActiveExplorer.WindowState = olMaximized 

End Sub
© www.soinside.com 2019 - 2024. All rights reserved.