【发布时间】:2017-08-07 23:27:08
【问题描述】:
我想在 MS Outlook 2007 中创建一个自定义弹出警报,它会在单击“发送”按钮时出现。它应该有两个选择:是和否。单击“是”时,我希望系统打开一个特定的 Excel 表。
这是否可以通过将 VBA 代码 sn-p 添加到我的 Outlook 桌面客户端来实现?我不知道如何实现这一目标。任何线索表示赞赏。
【问题讨论】:
标签: vba outlook popupwindow outlook-2007
我想在 MS Outlook 2007 中创建一个自定义弹出警报,它会在单击“发送”按钮时出现。它应该有两个选择:是和否。单击“是”时,我希望系统打开一个特定的 Excel 表。
这是否可以通过将 VBA 代码 sn-p 添加到我的 Outlook 桌面客户端来实现?我不知道如何实现这一目标。任何线索表示赞赏。
【问题讨论】:
标签: vba outlook popupwindow outlook-2007
使用 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
【讨论】:
Dim xlApp As Excel.Application Dim xlBook As Workbook这两行代码正在抛出错误:编译错误:用户定义的类型未定义'