メインコンテンツへスキップ
 

Outlookで受信者に基づいて署名を自動的に変更するにはどうすればよいですか?

作者: シルヴィア 最終更新日:2024年09月13日

既定では、Outlookには、ユーザーがさまざまな電子メールアカウントを介して電子メールを送信するときに署名を自動的に変更するための組み込み関数があります。 ただし、それ以外にも、Outlookの[宛先]フィールドで、さまざまな受信者に基づいて署名を自動的に変更する方法を紹介します。

VBAコードを使用して受信者に基づいて署名を自動的に変更する


VBAコードを使用して受信者に基づいて署名を自動的に変更する

Outlookで電子メールを送信するときに、対応する受信者に異なる署名を適用するには、以下の手順に従ってください。

1.まず、Outlookの自動添付署名機能を無効にする必要があります。 クリックしてください File > オプション を開く Outlookのオプション 窓。

2。 の中に Outlookのオプション ウィンドウ、選択 Mail 左側のペインで、をクリックします 署名 ボタンの メッセージを作成する セクション。 スクリーンショットを参照してください:

VBA を使用して、受信者に基づいて署名をコードで自動的に変更する

3。 の中に 署名と文具 ダイアログボックスで デフォルトの署名を選択 セクションの下に 電子メールの署名 タブで、でメールアカウントを選択します メールアカウント ドロップダウンリストをクリックして、 (なし) 新しいメッセージ返信/転送 ドロップダウンリスト。 すべてのメールアカウントがに設定されるまで、これらの手順を繰り返します (なし)。 次に、 OK

VBA コードを使用して受信者に基づいて署名を自動的に変更する

Note:これで必要な署名を作成することもできます 署名と文具 ダイアログボックス。

4。 クリック OK 戻るときのボタン Outlookのオプション 窓。

5。 プレス 他の + F11 キーを押して アプリケーション向け Microsoft Visual Basic 窓。

6。 の中に アプリケーション向け Microsoft Visual Basic ウィンドウ、ダブルクリック このOutlookSession 左側のペインで[コード]ウィンドウを開き、VBAコードの下をウィンドウにコピーします。 スクリーンショットを参照してください:

VBA コードを使用して受信者に基づいて署名を自動的に変更する

VBAコード:Outlookの受信者に基づいて署名を自動的に変更します

Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)
'Updated by ExtendOffice 2022/08/01
Dim xMailItem As MailItem
Dim xRecipients As Recipients
Dim xRecipient As Recipient
Dim xRcpAddress As String
Dim xSignatureFile, xSignaturePath As String
Dim xFSO As Scripting.FileSystemObject
Dim xDoc As Document
Dim xFindStr As String
On Error Resume Next
Set xFSO = New Scripting.FileSystemObject
If Item.Class <> olMail Then Exit Sub
Set xMailItem = Item
Set xRecipients = xMailItem.Recipients
xSignaturePath = CreateObject("WScript.Shell").SpecialFolders(5) + "\Microsoft\Signatures\"
For Each xRecipient In xRecipients
    If xRecipient.AddressEntry.AddressEntryUserType = olExchangeUserAddressEntry Then
        xRcpAddress = xRecipient.AddressEntry.GetExchangeUser.PrimarySmtpAddress
    Else
        xRcpAddress = xRecipient.AddressEntry.Address
    End If
    Select Case xRcpAddress
        Case "Email Address 1"
            xSignatureFile = xSignaturePath & "aaa.htm"
            Exit For
        Case "Email Address 2", "Email Address 3"
            xSignatureFile = xSignaturePath & "bbb.htm"
            Exit For
        Case "Email Address 4"
            xSignatureFile = xSignaturePath & "ccc.htm"
            Exit For
    End Select
Next
VBA.DoEvents
Set xDoc = xMailItem.GetInspector.WordEditor
xFindStr = "From: " & xMailItem.Recipients.Item(1).Name & " <" & xRcpAddress & ">"
If VBA.InStr(1, xMailItem.Body, xFindStr) <> 0 Then
    xDoc.Application.Selection.HomeKey Unit:=wdStory, Extend:=wdMove
    With xDoc.Application.Selection.Find
        .ClearFormatting
        .Text = xFindStr
        .Execute Forward:=True
    End With
    With xDoc.Application.Selection
        .MoveLeft wdCharacter, 2
        .InsertParagraphAfter
        .MoveDown Unit:=wdLine, Count:=1
    End With
Else
    With xDoc.Application.Selection
        .EndKey Unit:=wdStory, Extend:=wdMove
        .InsertParagraphAfter
        .MoveDown Unit:=wdLine, Count:=1
    End With
End If
xDoc.Application.Selection.InsertFile FileName:=xSignatureFile, Link:=False, Attachment:=False
End Sub

ノート:

  • 1) VBAコードで、「メールアドレス1/2/3/4受信者の特定の電子メール アドレスと関連付けます。
  • 2)。 「」ああ.htm""bbb.htm"と"ccc.htm"は、対応する受信者に送信する指定された署名です。
  • 3) この場合、署名は「単4「」は「」に送信されますメールアドレス1"、 サイン "BBB「」は「」に送信されますメールアドレス2"と"メールアドレス3"、および「メールアドレス4「署名が埋め込まれたメールを受信します」CCC必要に応じて変更してください。
  • 4)。 電子メールに複数の受信者がいる場合、コードは最初の受信者のみを考慮します。 この場合、他の受信者は最初の受信者と同じ署名の電子メールを受信します。

7。 次に、をクリックします ツール > 参考情報 参考資料-プロジェクト ダイアログボックス。 ダイアログで、両方を確認してください MicrosoftWordオブジェクトライブラリ Microsoftスクリプトランタイム オプションをクリックし、をクリックします OK ボタン、スクリーンショットを参照してください:

VBA コードを使用して受信者に基づいて署名を自動的に変更する

8。 プレス 他の + Q を閉じるためのキー アプリケーション向け Microsoft Visual Basic 窓。

今後、メールを作成して[送信]ボタンを押すと、[宛先]フィールドの受信者のメールアドレスに基づいて、対応する署名がメール本文の最後に自動的に挿入されます。


Outlookで電子メールを送信するときに、現在の日付を署名として自動的に挿入します。

Outlookで新しい電子メールを作成/返信/転送するときに、署名としてタイムスタンプを電子メール本文に挿入する場合は、 新規作成時に日付署名を追加し、返信してメールを転送する のオプション Kutools for Outlook それを達成するために。 スクリーンショットを参照してください:
今すぐダウンロードしてお試しください (30 日間の無料トライアル)

VBA コードを使用して受信者に基づいて署名を自動的に変更する


最高のオフィス生産性向上ツール

速報: Outlook 向け Kutools がリリース 無償版!

まったく新しいKutools for Outlookを体験してください 70以上の素晴らしい機能を備えた無料版を永久にご利用いただけます! 今すぐダウンロードするにはクリックしてください!

🤖 クツールAI : 高度な AI テクノロジーを使用して、メールの返信、要約、最適化、拡張、翻訳、作成など、メールを簡単に処理します。

📧 自動メール: 自動返信(POP および IMAP で利用可能)  /  メール送信のスケジュール設定  /  メール送信時のルールによる自動CC/BCC  /  自動転送 (高度なルール)   /  あいさつを自動追加   /  複数受信者の電子メールを個別のメッセージに自動的に分割する ...

📨 電子メール管理: メールの取り消し  /  件名などで詐欺メールをブロック  /  重複するメールを削除する  /  高度な検索  /  フォルダーを統合する ...

📁 アタッチメント プロバッチ保存  /  バッチデタッチ  /  バッチ圧縮  /  自動保存   /  自動デタッチ  /  自動圧縮 ...

🌟 インターフェースマジック: 😊もっと可愛くてクールな絵文字   /  重要なメールが届いたら通知する  /  Outlook を閉じる代わりに最小化する ...

???? ワンクリックの驚異: 受信した添付ファイルをすべてに返信する  /   フィッシングメール対策  /  🕘送信者のタイムゾーンを表示 ...

👩🏼‍🤝‍👩🏻 連絡先とカレンダー: 選択したメールから連絡先を一括追加  /  連絡先グループを個別のグループに分割する  /  誕生日のリマインダーを削除する ...

ワンクリックでKutools for Outlookを即座にロック解除—永久に無料待たずに今すぐダウンロードして効率を高めましょう!

Outlook 用の kutools の機能 1 Outlook 用の kutools の機能 2