如何使用VBA验证Outlook会话是否已打开

时间:2014-02-27 05:37:47

标签: excel vba excel-vba outlook

我有VBA Macro,它在Excel中从LN中提取报告并向我的经理发送了一封邮件。 我使用调度程序使用.vbs脚本运行此MACRO。该调度程序从周一至周五早上运行。这里的问题是我们有时会在Sat& S期间对我们的系统进行维修。星期天和那个展望会议结束了。

我想要的是我想编写一个VBA宏,它首先会验证Out look会话是否打开,如果它是打开的,那么我们没问题,如果不是我们需要打开outlook会话并发送邮件。 / p>

需要你的专业知识:)

1 个答案:

答案 0 :(得分:4)

尝试使用GetObject(,"Outlook.Application")获取对正在运行的Outlook会话的引用 - 如果失败则可以使用CreateObject()启动Outlook

Dim olApp As Outlook.Application

On Error Resume Next
Set olApp = GetObject(, "Outlook.Application")
On Error Goto 0 

If olApp Is Nothing Then
    Set olApp = CreateObject("Outlook.Application")
End If

If olApp Is Nothing Then
    Err.Raise 999, , "Failed to get Outlook reference"
End If