2
我試圖編寫一個宏,在用戶點擊發送按鈕時查看電子郵件的主題行。發送電子郵件時運行宏
但是我找不到任何聽該按鈕的文檔。就目前而言,我只是試圖讓它在發送郵件時發送MsgBox
這個主題。有沒有辦法傾聽(思考DOM DOM)這個按鈕,並點擊一個宏。
我試圖編寫一個宏,在用戶點擊發送按鈕時查看電子郵件的主題行。發送電子郵件時運行宏
但是我找不到任何聽該按鈕的文檔。就目前而言,我只是試圖讓它在發送郵件時發送MsgBox
這個主題。有沒有辦法傾聽(思考DOM DOM)這個按鈕,並點擊一個宏。
至於建議由亞洲時報Siddharth:
我寫了一個小的演示,檢查一些條件來決定,如果發送操作應被取消。這可以擴展到做其他事情,如插入日期,保存郵件到某個文件夾,...
Option Explicit
Private Sub Application_ItemSend(ByVal objItem As Object, Cancel As Boolean)
Dim mi As MailItem
If TypeName(objItem) = "MailItem" Then
Set mi = objItem
Debug.Print mi.Subject
check Cancel, Trim(mi.Subject) <> "", "Subject is empty!"
check Cancel, Not isRecipient(mi, "[email protected]"), _
"John is on our embargo list!"
End If
End Sub
Private Sub check(ByRef Cancel As Boolean, cond As Boolean, msg As String)
If Not (Cancel Or cond) Then
Cancel = (MsgBox(msg & vbCrLf & "Cancel send operation?", _
vbYesNoCancel, "Confirm?") <> vbNo)
End If
End Sub
Private Function isRecipient(mi As MailItem, forbidden As String) As Boolean
Dim ret As Boolean
Dim rc As Recipient
ret = False
For Each rc In mi.recipients
If StrComp(rc.Address, forbidden, vbTextCompare) = 0 Then
ret = True
Exit For
End If
Next
isRecipient = ret
End Function
使用此'私人小組實現Application_ItemSend(BYVAL項目爲對象,取消由於布爾)'HTTP:// MSDN .microsoft.com/EN-US /圖書館/辦公室/ bb147641%28V = office.12%29.aspx –