使用vba打开和关闭outlook .msg文件

时间:2015-08-11 04:03:22

标签: excel vba outlook

大家好,我有以下代码,在第一个文件打开和关闭后给出了自动化错误。 运行时错误'-2147023170(800706be)自动化错误远程过程调用失败。请帮助我如此接近获得excel打开并阅读然后关闭我所有的Outlook .msg文件

Sub Kenneth_Li()
    Dim objOL As Outlook.Application
    Dim Msg As Outlook.MailItem

Set objOL = CreateObject("Outlook.Application")
inPath = "C:\Users\SiliconPlus\Desktop\Si+ Contact Lists\Contact_Si+"

thisFile = Dir(inPath & "\*.msg")
Do While thisFile <> ""

    'Set Msg = objOL.CreateItemFromTemplate(thisFile)
    'Or
    'Set Msg = objOL.OpenSharedItem(thisFile)
    Set Msg = objOL.CreateItemFromTemplate(inPath & "\" & thisFile)

    Msg.Display

    Msg.Close olSave
    'MsgBox Msg.Subject
    thisFile = Dir
Loop


Set objOL = Nothing
Set Msg = Nothing
End Sub

2 个答案:

答案 0 :(得分:0)

对我来说很好。

我建议您尝试延迟绑定,如下所示。

Google搜索您的错误也会将RPC服务作为一个潜在问题。

Sub Kenneth_Li()
Dim objOL As Object
Dim Msg As Object

Set objOL = CreateObject("Outlook.Application")
inPath = "C:\temp"

thisFile = Dir(inPath & "\*.msg")
Do While thisFile <> ""

    Set Msg = objOL.CreateItemFromTemplate(inPath & "\" & thisFile)
    Msg.Display
    Msg.Close olSave
    thisFile = Dir
Loop


Set objOL = Nothing
Set Msg = Nothing
End Sub

答案 1 :(得分:0)

RPC_S_CALL_FAILED通常表示当您仍然引用其中一个对象时,进程外COM服务器(Outlook)已终止。

如果Outlook在您的代码执行时运行,则会返回错误?