VBA 检测处于编辑模式的电子邮件是否包含签名?

VBA Detect if an e-mail in editing mode has a signature included?

我正在尝试添加签名,但请确保不能在其后添加其他签名。我添加它的方法基本上是连接 HTMLBody 和自定义的基于 HTML 的签名。

作为背景,当我开始写 Outlook 电子邮件时,我可以使用消息 → 包含 → 签名并选择我需要的签名来附加签名。但是,无论我选择多少次签名,我都不会重复。

Outlook 如何检测是否包含签名?是MailItem对象下还是Inspector下的属性?

谢谢,

用户签名时有书签。

Option Explicit

Private Sub signatureText()

Dim newEmail As mailItem
Dim olInsp As Inspector

Dim wdDoc As Object
Dim oRng As Object
Dim oBookmark As Object

Dim sigText As String

Set newEmail = CreateItem(olMailItem)
    
With newEmail

    Set olInsp = .GetInspector
    Set wdDoc = olInsp.WordEditor
    Set oRng = wdDoc.Range
    
    ' Default signature
    ' or set a breakpoint to manually add a signature
    .Display
    
    If wdDoc.Bookmarks.Exists("_MailAutoSig") Then
        Set oBookmark = wdDoc.Bookmarks("_MailAutoSig")
        
        sigText = oBookmark.Range.Text
        
        Debug.Print oBookmark.Range.Text
        MsgBox "Please do not add your own signature."
        
    Else
        Debug.Print "No signature bookmark."
    End If
    
End With
    
End Sub