【问题标题】:convert msg to html in background using vbscript使用 vbscript 在后台将 msg 转换为 html
【发布时间】:2016-08-25 00:13:50
【问题描述】:

我正在将 Outlook msg 文件转换为 html 文件。到目前为止,我有:

Dim objshell,BaseName,outlookapp,emailPath
Set objshell= CreateObject("scripting.filesystemobject") 
Set outlookapp = CreateObject("Outlook.Application")
Set email = outlookapp.CreateItemFromTemplate(emailPath)
emailPath = "C:\Users\makkerman\Desktop\email folder\test.msg"

BaseName = objshell.GetBaseName(emailPath)
email.saveas objshell.GetParentFolderName(emailPath) & "\" & BaseName & ".html", 5

outlookapp.Quit

我希望它在后台运行(不会打扰运行它的用户)。我必须启动 Outlook 进程吗?按照目前的情况,如果用户打开了 Outlook,那么上面的脚本会关闭 Outlook,我可以理解原因(outlookapp.Quit)。如果脚本运行时 Outlook 未打开,则 Outlook 在脚本持续时间内打开。

有人可以将我推向正确的方向吗?谢谢!

【问题讨论】:

    标签: vbscript outlook


    【解决方案1】:

    为什么需要调用 Application.Quit?如果 Outlook 正在运行,它将继续运行。如果它没有运行,当您取消引用所有 Outlook 对象时,Outlook 将自行关闭 - 请记住,Outlook 是单例并且 CreateObject 将连接到已经运行的实例;你没有得到一个全新的过程。

    如果不想使用 Outlook,可以使用Redemption(不会启动 Outlook):

      set Session = CreateObject("Redemption.RDOSession")
      set Msg = Session.GetMessageFromMsgFile("c:\temp\test.msg")
      Msg.SaveAs "c:\temp\test.html", 5
    

    【讨论】:

      【解决方案2】:

      无论它是否打开,我都会创建一个 Outlook 实例。这应该会有所帮助:Run program minimized。请务必查看答案中的文档链接以获取所有参数选项。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-11-22
        • 2019-04-04
        • 2023-03-14
        • 2022-12-17
        • 2018-08-28
        • 2015-06-12
        • 2011-06-10
        • 2018-01-27
        相关资源
        最近更新 更多