2017-03-16 181 views
0

我想在MS Outlook 2007中创建一个自定义弹出警报,单击“发送”按钮时出现。它应该有2个选择:是和否。点击“是”,我希望系统打开一个特定的Excel表格。在MS Outlook 2007中创建自定义弹出警报的VBA代码

这是可能的通过添加一个VBA代码片段到我的Outlook桌面客户端?我不知道如何去实现这一点。任何领先的赞赏。

回答

2

Application.ItemSend Event和简单MsgBox Function

工作还看这个答案Finding a workbook in one of multiple Excel instances

示例代码进入下ThisOutlookSession

Public WithEvents olApp As Outlook.Application 

Private Sub Application_Startup() 
    Set olApp = Outlook.Application 
End Sub 

Private Sub olApp_ItemSend(ByVal Item As Object, Cancel As Boolean) 
    Dim xlApp As Excel.Application 
    Dim xlBook As Workbook 
    Dim Prompt As String 

    Prompt = "Open Excel File?" 

    If MsgBox(Prompt, vbYesNo + vbQuestion, _ 
          "Sample") = vbNo Then 
     Cancel = True 
    Else 
     Set xlApp = New Excel.Application 
     Set xlBook = xlApp.Workbooks.Open(_ 
           "C:\Temp\Temp.xlsm") 
     xlApp.Visible = True 

    End If 

    Set xlApp = Nothing 
    Set Book = Nothing 
End Sub 
+0

感谢您的信息。在“ThisOutlookSession”中添加了代码并保存了VB项目。但是,更改没有生效。我知道这是非常少的信息,但你能帮我进一步吗? –

+0

@RitwikDey我目前远离我的电脑 - 当然我会帮你,重新启动你的outlook并测试它 - 如果它不工作,请查看链接并用Initialize_handler()替换application-startup() – 0m3r

+0

@ RitwikDey记得,无论何时使用ThisOutlookSession,您都必须重新启动Outlook以使其正常工作 – 0m3r