【问题标题】:VBA code in MS Outlook 2007 to create custom popup alertMS Outlook 2007 中用于创建自定义弹出警报的 VBA 代码
【发布时间】:2017-08-07 23:27:08
【问题描述】:

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

这是否可以通过将 VBA 代码 sn-p 添加到我的 Outlook 桌面客户端来实现?我不知道如何实现这一目标。任何线索表示赞赏。

【问题讨论】:

    标签: vba outlook popupwindow outlook-2007


    【解决方案1】:

    使用 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
    

    【讨论】:

    • 感谢您的信息。在“ThisOutlookSession”中添加了代码并保存了 VB 项目。但是,更改并未生效。我知道这是非常少的信息,但你能帮我进一步吗?
    • @RitwikDey 请记住,每当您使用 ThisOutlookSession 时,您必须重新启动 Outlook 才能使其正常工作
    • 感谢您的回复。我将其作为新宏进行了测试。弹窗来了。我在新宏中添加了您在“olApp_ItemSend”方法中提供的代码。但是,我不得不注释掉所有与excel相关的代码,因为:Dim xlApp As Excel.Application Dim xlBook As Workbook这两行代码正在抛出错误:编译错误:用户定义的类型未定义'
    • 就像我说的,弹出窗口来了。但仅在测试期间。我重新启动了 Outlook 2007,但单击发送按钮仍然没有出现。我用 Initialize_handler() 替换了 application-startup()。没有效果。
    猜你喜欢
    • 2017-11-16
    • 2018-05-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多