新手展望VBA。中級Excel VBA。 Windows 7專業版,Outlook 2010從轉發的電子郵件中刪除自動簽名VBA宏
我有一個腳本從規則運行,自動轉發所有傳入的電子郵件。我需要它作爲規則,否則它不會在Outlook加載時轉發隊列中的郵件。
我希望郵件轉發時刪除默認簽名。由於答覆是「空白」,因此不需要附加sig。我發現一些代碼可以在MSDN站點的Outlook 2007中工作。它編譯沒有錯誤,不會執行錯誤。我在VBA中引用了MS Word。但轉發的電子郵件都附有簽名。
我不能只是刪除簽名,因爲我需要它在回覆中。簽名開關用於回覆和轉發郵件。
下面是代碼:
Option Explicit
Sub Incoming3(MyMail As MailItem)
Dim strID As String
Dim strSender As String
Dim StrSubject As String
Dim objItem As Outlook.MailItem
Dim myItem As Outlook.MailItem
strID = MyMail.entryID
Set objItem = Application.Session.GetItemFromID(strID)
strSender = objItem.SenderName
StrSubject = objItem.Subject
StrSubject = strSender + ": " + StrSubject
objItem.Subject = StrSubject
objItem.AutoForwarded = False
Set myItem = objItem.Forward
myItem.Recipients.Add "[email protected]"
myItem.DeleteAfterSubmit = True
Call DeleteSig(objItem)
myItem.Send
Set myItem = Nothing
Set objItem = Nothing
End Sub
Sub DeleteSig(msg As Outlook.MailItem)
Dim objDoc As Word.Document
Dim objBkm As Word.Bookmark
On Error Resume Next
Set objDoc = msg.GetInspector.WordEditor
Set objBkm = objDoc.Bookmarks("_MailAutoSig")
If Not objBkm Is Nothing Then
objBkm.Select
objDoc.Windows(1).Selection.Delete
End If
Set objDoc = Nothing
Set objBkm = Nothing
End Sub
與Outlook或VBA代碼任何幫助將非常感激。
不,這沒有什麼區別。 Outlook仍附加簽名。 – parodytx 2015-02-25 13:41:58
不管這是不是最終修復程序,您是在DeleteSig中處理原始「objItem」,而不是作爲轉發郵件的「myItem」。 – niton 2015-02-25 21:31:52
出於某種原因,您的推薦導致autoforward停止工作。當我恢復原狀時,它會再次運作。我無法解釋爲什麼發生這種情況。 – parodytx 2015-02-26 02:55:35