计算机处于睡眠状态时是否可以运行Microsoft Outlook VBA?

时间:2015-04-06 21:58:01

标签: vba outlook

我目前正在使用Outlook VBA脚本将PDF附件从自动报告电子邮件保存到公司共享驱动器上。问题是我很快就要休假两周了,所以我想知道当我的电脑处于睡眠模式时我能不能运行VBA吗?

根据我的研究,我了解如果我的电脑关闭,VBA根本无法运行,但是如果我让Outlook打开并让我的电脑进入睡眠状态怎么办?

以下是我的简单VBA脚本供您参考。 (它作为过滤规则运行)

Public Sub saveAttachtoDisk(itm As Outlook.MailItem)

Dim objAtt As Outlook.Attachment

Dim saveFolder_1 As String
    saveFolder_1 = "my path 1"

Dim saveFolder_2 As String
    saveFolder_2 = "my path 2"

Dim dateFormat
    dateFormat = Format(itm.ReceivedTime, "yyyymmdd")


For Each objAtt In itm.Attachments
    objAtt.SaveAsFile saveFolder_1 & "\" & "file name" & dateFormat & ".pdf"
    objAtt.SaveAsFile saveFolder_2 & "\" & "file name" & dateFormat & ".pdf"
    Set objAtt = Nothing
Next
End Sub

3 个答案:

答案 0 :(得分:1)

不,当您的计算机处于休眠状态时,Outlook将无法运行。通常,您可以拥有由Exchange服务器执行的服务器端规则,无论Outlook是否已连接到它,但它将无法运行VB脚本或保存附件。您可以做的最好的事情是将邮件移动到其他文件夹或将邮件转发/委派给其他邮箱。

答案 1 :(得分:1)

另一种替代方法(我是这样做的)是在驻留在始终在线服务器上的虚拟机上运行outlook。这样,本地计算机的状态无关紧要,Outlook将始终运行并能够在服务器上执行代码。

答案 2 :(得分:0)

如果您无法在服务器上运行代码,则可以使用Windows任务计划程序将工作站从睡眠状态唤醒,运行宏,然后重新进入睡眠状态。 this page.

处有合理的说明
相关问题