Vba 通过'中的宏发送电子邮件;规则和警报';
我想通过Outlook 2007中的“规则和警报”发送自定义电子邮件Vba 通过'中的宏发送电子邮件;规则和警报';,vba,outlook,rules,Vba,Outlook,Rules,我想通过Outlook 2007中的“规则和警报”发送自定义电子邮件 Sub SpirentBoxcarEmail() Dim objOutlook As Object Dim objOutlookMsg As Object Set objOutlook = CreateObject("Outlook.Application") Set objOutlookMsg = objOutlook.CreateItem(0) With objOutlookMsg .To = "me@ema
Sub SpirentBoxcarEmail()
Dim objOutlook As Object
Dim objOutlookMsg As Object
Set objOutlook = CreateObject("Outlook.Application")
Set objOutlookMsg = objOutlook.CreateItem(0)
With objOutlookMsg
.To = "me@email.com"
.Subject = "Test"
.Body = "Test"
.Send
End With
Set objOutlookMsg = Nothing
Set objOutlook = Nothing
End Sub
我知道我需要在子标题()中添加类似“item As Outlook.MailItem”的内容,以便宏显示在“Scripts”下
然而,我真的需要为这个“项目”分配什么吗
宏在没有添加“item”的情况下运行正常,但一旦我添加了“item As Outlook.MailItem”并且规则执行了脚本(宏),电子邮件就不会被发送出去。非常奇怪,对于我来说,接收到的消息规则是有效的。能否在过程中设置断点并查看脚本是否正在实际执行?我认为outlook正在查找特定的函数签名。规则希望将当前邮件项目传递给宏。试试这个
Sub SpirentBoxcarEmail(ByRef t As MailItem)
Dim objOutlook As Object
Dim objOutlookMsg As Object
Set objOutlook = CreateObject("Outlook.Application")
Set objOutlookMsg = objOutlook.CreateItem(0)
With objOutlookMsg
.To = "me@email.com"
.Subject = "Test"
.Body = "Test"
.Send
End With
Set objOutlookMsg = Nothing
Set objOutlook = Nothing
End Sub
您编写了RunAScript代码,就好像它不依赖于接收的项目一样 打开邮件项并运行SpirentBoxcarEmail\u RunAScript\u测试
Sub SpirentBoxcarEmail_RunAScript(item As mailitem)
'Dim objOutlook As Object
'Dim objOutlookMsg As Object
Dim objOutlookMsg As mailitem
' Normally the trigger item is processed in some way.
MsgBox "The subject of the received mail that triggered the script is: " & _
vbCr & vbCr & item.Subject
' In this case the trigger item will now be ignored.
'Set objOutlook = CreateObject("Outlook.Application")
Set objOutlookMsg = CreateItem(0)
With objOutlookMsg
.To = "me@email.com"
.Subject = "Test"
.body = "Test"
.Send
End With
Set objOutlookMsg = Nothing
'Set objOutlook = Nothing
End Sub
Private Sub SpirentBoxcarEmail_RunAScript_Test()
' Open mail that fulfills the conditions of the rule
' This simulates mail being received
Dim currItem As mailitem
Set currItem = ActiveInspector.currentItem
SpirentBoxcarEmail_RunAScript currItem
End Sub