Note: The other languages of the website are Google-translated. Back to English
ログイン  \/ 
x
or
x
今すぐ登録  \/ 
x

or

Excelで電子メールを送信するときにOutlookの署名を挿入するにはどうすればよいですか?

Excelで直接電子メールを送信したい場合、どのようにしてデフォルトのOutlook署名を電子メールに追加できますか? この記事では、Excelで電子メールを送信するときにOutlookの署名を追加するのに役立つXNUMXつの方法を提供します。

Excel VBAで送信するときに、Outlookの電子メールに署名を挿入します
素晴らしいツールを使用してExcelでメールを送信するときにOutlookの署名を簡単に挿入

Excelでメールを送信するためのその他のチュートリアル...


Excel VBAで送信するときに、Outlookの電子メールに署名を挿入します

たとえば、ワークシートに電子メールアドレスのリストがあり、Excelでこれらすべてのアドレスに電子メールを送信し、すべての電子メールに既定のOutlook署名を含める必要があります。 それを実現するには、以下のVBAコードを適用してください。

1.電子メールを送信する電子メールアドレスリストが含まれているワークシートを開き、を押します。 他の + F11 キー。

2.オープニングで アプリケーション向け Microsoft Visual Basic ウィンドウ、クリック インセット > モジュール、 次に、以下をコピーします VBA 2 モジュールコードウィンドウに移動します。

3.次に、を交換する必要があります 。体 ラインイン VBA 2 のコードで VBA 1。 その後、カット 。表示 行を入力して、下に貼り付けます xMailOutを使用 ライン。

VBA 1:Excelの署名付きメール送信のテンプレート

.HTMLBody = "This is a test email sending in Excel" & "<br>" & .HTMLBody

VBA 2:Excelのセルで指定されたメールアドレスにメールを送信する

Sub SendEmailToAddressInCells()
    Dim xRg As Range
    Dim xRgEach As Range
    Dim xRgVal As String
    Dim xAddress As String
    Dim xOutApp As Outlook.Application
    Dim xMailOut As Outlook.MailItem
    On Error Resume Next
    xAddress = ActiveWindow.RangeSelection.Address
    Set xRg = Application.InputBox("Please select email address range", "KuTools For Excel", xAddress, , , , , 8)
    If xRg Is Nothing Then Exit Sub
    Application.ScreenUpdating = False
    Set xOutApp = CreateObject("Outlook.Application")
    Set xRg = xRg.SpecialCells(xlCellTypeConstants, xlTextValues)
    For Each xRgEach In xRg
        xRgVal = xRgEach.Value
        If xRgVal Like "?*@?*.?*" Then
            Set xMailOut = xOutApp.CreateItem(olMailItem)
            With xMailOut
                .To = xRgVal
                .Subject = "Test"
                .Body = "Dear " _
                      & vbNewLine & vbNewLine & _
                        "This is a test email " & _
                        "sending in Excel"
                .Display
                '.Send
            End With
        End If
    Next
    Set xMailOut = Nothing
    Set xOutApp = Nothing
    Application.ScreenUpdating = True
End Sub

次のスクリーンショットは、VBAコードを変更した後の違いを簡単に見つけるのに役立ちます。

4。 プレス F5 コードを実行するためのキー。 次に、 Kutools for Excel 選択ボックスがポップアップします。メールを送信するメールアドレスを選択して、をクリックしてください。 [OK]をクリックします。

次に、特定のアドレスに送信する電子メールが作成され、表示されます。 メール本文の最後にデフォルトのOutlook署名が追加されていることがわかります。

ヒント:

  • 1.必要に応じて、VBAコード1の電子メール本文を変更できます。
  • 2.コードの実行後、ユーザー定義タイプが定義されていないことを警告するエラーダイアログボックスが表示された場合は、このダイアログを閉じてから、をクリックしてください。 BHツール > リファレンス アプリケーション向け Microsoft Visual Basic 窓。 オープニングで 参照– VBAProject ウィンドウ、チェック MicrosoftOutlookオブジェクトライブラリ ボックスをクリックして [OK]をクリックします。 そして、コードを再度実行します。

素晴らしいツールを使用してExcelでメールを送信するときにOutlookの署名を簡単に挿入

VBAの初心者の場合は、ここで強くお勧めします メールを送る の有用性 Kutools for Excel あなたのために。 この機能を使用すると、Excelの特定のフィールドに基づいて電子メールを簡単に送信し、それらにOutlookの署名を追加できます。 次のようにしてください。

申請する前に Kutools for Excelについては 最初にダウンロードしてインストールします.

まず、メールを送信するさまざまなフィールドを使用してメーリングリストを作成する必要があります。

必要に応じて手動でメーリングリストを作成するか、メーリングリストの作成機能を適用してすばやく作成できます。

1。 クリック クツールズプラス > メーリングリストを作成します。

2。 の中に メーリングリストを作成する ダイアログボックスで、必要なフィールドを指定し、リストを出力する場所を選択して、[ OK ボタン。

3.これで、メーリングリストのサンプルが作成されました。 これはサンプルリストであるため、フィールドを特定の必要なコンテンツに変更する必要があります。 (複数の行が許可されます)

4.その後、リスト全体(ヘッダーを含む)を選択し、をクリックします クツールズプラス > メールを送る。

5。 の中に メールを送る ダイアログボックス:

  • 5.1)選択したメーリングリストのアイテムは、対応するフィールドに自動的に配置されます。
  • 5.2)メール本文を完成させます。
  • 5.3)両方をチェックします Outlook経由でメールを送信する Outlookの署名設定を使用する ボックス;
  • 5.4)をクリックします 送信 ボタン。 スクリーンショットを参照してください:

これでメールが送信されます。 また、デフォルトのOutlook署名が電子メール本文の最後に追加されます。

  このユーティリティの無料トライアル(30日)をご希望の場合は、 クリックしてダウンロードしてください、次に、上記の手順に従って操作を適用します。


関連記事:

Excelのセルで指定されたメールアドレスにメールを送信する
電子メールアドレスのリストがあり、Excelで直接これらの電子メールアドレスに電子メールメッセージをまとめて送信するとします。 それを達成する方法は? この記事では、Excelのセルで指定された複数の電子メールアドレスに電子メールを送信する方法を説明します。

指定した範囲をコピーしてExcelのメール本文に貼り付けてメールを送信する
多くの場合、Excelワークシートの指定された範囲のコンテンツは、電子メール通信に役立つ場合があります。 この記事では、指定した範囲でメールを送信する方法をExcelで直接メール本文に紹介します。

Excelで複数の添付ファイルを添付してメールを送信する
この記事では、Excelで複数の添付ファイルを添付したOutlookを介した電子メールの送信について説明しています。

Excelで期日が過ぎたらメールを送信する
たとえば、列Cの期日が7日以下の場合(現在の日付は2017/9/13)、列Aの指定された受信者に列Bの指定された内容で電子メールリマインダーを送信します。それを達成しますか? この記事では、それを詳細に処理するためのVBAメソッドを提供します。

Excelのセル値に基づいて自動的にメールを送信する
Excelで指定されたセル値に基づいて、Outlookを介して特定の受信者に電子メールを送信するとします。 たとえば、ワークシートのセルD7の値が200より大きい場合、電子メールが自動的に作成されます。 この記事では、この問題をすばやく解決するためのVBAメソッドを紹介します。

Excelでメールを送信するためのその他のチュートリアル...


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

Kutools for Excelはほとんどの問題を解決し、生産性を80%向上させます

  • 再利用: すばやく挿入 複雑な数式、チャート および以前に使用したものすべて。 セルを暗号化する パスワード付き。 メーリングリストを作成する そしてメールを送る...
  • スーパーフォーミュラバー (複数行のテキストと数式を簡単に編集できます); 読書レイアウト (多数のセルを簡単に読み取って編集する); フィルター範囲に貼り付け...
  • セル/行/列をマージする データを失うことなく; 分割セルコンテンツ; 重複する行/列を組み合わせる...重複セルを防止します。 範囲を比較する...
  • [複製]または[一意]を選択します 行; 空白行を選択 (すべてのセルは空です); スーパーファインドとファジーファインド 多くのワークブックで; ランダム選択...
  • 正確なコピー 数式参照を変更せずに複数のセル。 参照の自動作成 複数のシートに; 箇条書きを挿入、チェックボックスなど...
  • テキストを抽出、テキストの追加、位置による削除、 スペースを削除する; ページング小計の作成と印刷。 セルの内容とコメントを変換する...
  • スーパーフィルター (フィルタースキームを保存して他のシートに適用します); 高度な並べ替え 月/週/日、頻度など。 特殊フィルター 太字、斜体...
  • ワークブックとワークシートを組み合わせる; キー列に基づいてテーブルをマージします。 データを複数のシートに分割; xls、xlsx、PDFをバッチ変換...
  • 300以上の強力な機能。 Office / Excel2007-2019および365をサポートします。すべての言語をサポートします。 企業や組織に簡単に導入できます。 全機能30日間の無料トライアル。 60日間の返金保証。
kteタブ201905

Officeタブは、タブ付きのインターフェイスをOfficeにもたらし、作​​業をはるかに簡単にします

  • Word、Excel、PowerPointでタブ付きの編集と読み取りを有効にする、パブリッシャー、アクセス、Visioおよびプロジェクト。
  • 新しいウィンドウではなく、同じウィンドウの新しいタブで複数のドキュメントを開いて作成します。
  • 生産性が50%向上し、毎日何百ものマウスクリックが減ります。
officetab下部
Say something here...
symbols left.
You are guest
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    Fevro1 · 1 years ago
    I am trying to integrate this code into the current format I currently have whereby I am able to automate emails within excel based on a set range of values. Any help in regard to where to add the 'signature' code within what I currently have would be much appreciated.

    Public Sub CheckAndSendMail()
    'Updated by Extendoffice 2018/11/22
    Dim xRgDate As Range
    Dim xRgSend As Range
    Dim xRgText As Range
    Dim xRgDone As Range
    Dim xOutApp As Object
    Dim xMailItem As Object
    Dim xLastRow As Long
    Dim vbCrLf As String
    Dim xMailBody As String
    Dim xRgDateVal As String
    Dim xRgSendVal As String
    Dim xMailSubject As String
    Dim I As Long
    On Error Resume Next
    'Please specify the due date range
    xStrRang = "D2:D110"
    Set xRgDate = Range(xStrRang)
    'Please specify the recipients email address range
    xStrRang = "C2:C110"
    Set xRgSend = Range(xStrRang)
    xStrRang = "A2:A110"
    Set xRgName = Range(xStrRang)
    'Specify the range with reminded content in your email
    xStrRang = "Z2:Z110"
    Set xRgText = Range(xStrRang)
    xLastRow = xRgDate.Rows.Count
    Set xRgDate = xRgDate(1)
    Set xRgSend = xRgSend(1)
    Set xRgName = xRgName(1)
    Set xRgText = xRgText(1)
    Set xOutApp = CreateObject("Outlook.Application")
    For I = 1 To xLastRow
    xRgDateVal = ""
    xRgDateVal = xRgDate.Offset(I - 1).Value
    If xRgDateVal <> "" Then
    If CDate(xRgDateVal) - Date <= 30 And CDate(xRgDateVal) - Date > 0 Then
    xRgSendVal = xRgSend.Offset(I - 1).Value
    xMailSubject = " JBC Service Agreement Expiring On The " & xRgDateVal
    vbCrLf = "

    "
    xMailBody = ""
    xMailBody = xMailBody & "Dear " & xRgName.Offset(I - 1).Value & vbCrLf
    xMailBody = xMailBody & " " & xRgText.Offset(I - 1).Value & vbCrLf
    xMailBody = xMailBody & ""
    Set xMailItem = xOutApp.CreateItem(0)
    With xMailItem
    .Subject = xMailSubject
    .To = xRgSendVal
    .CC = "mailcc@justbettercare.com"
    .HTMLBody = xMailBody
    .Display
    '.Send
    End With
    Set xMailItem = Nothing
    End If
    End If
    Next
    Set xOutApp = Nothing
    End Sub
  • To post as a guest, your comment is unpublished.
    kanojiyajay161196@gmail.com · 1 years ago
    Thanks to you, I can add signature now but then it removes spaces between paragraph of text. Please Can you Help me ?


    Sub helloworld()
    Dim OutApp As Object
    Dim OutMail As Object
    Dim cell As Range
    Dim Path As String
    Path = Application.ActiveWorkbook.Path
    Set OutApp = CreateObject("Outlook.Application")

    For Each cell In Range("C4:C6")
    Set OutMail = OutApp.CreateItem(0)
    With OutMail
    .Display
    .To = cell.Value
    .Subject = Cells(cell.Row, "D").Value
    .HTMLBody = "Dear " & Cells(cell.Row, "B").Value & "," _
    & vbNewLine & vbNewLine & _
    "Warm Greetings" _
    & vbNewLine & vbNewLine & _
    "We, JK Overseas, would like to take an opportunity and introduce our company J K Overseas, which is involved in the salt business for the last 3 years. We are currently strong in domestic and expanding overseas. We are the supplier of Edible Salt, Water Softening Salt, De-icing Salt, Industrial Salt" & "." _
    & vbNewLine & vbNewLine & _
    "We have a tie-up with large scale manufacturers in India and procure from them quality Salt and exports. So, we are looking for a reliable expert importer as well as distributor agent to make a long-term Business with mutual benefit" & "." _
    & vbNewLine & vbNewLine & _
    "Please contact us with your requirement or for any other inquiries you may have. We provide reliable logistics and on-time delivery. We are confident that our prices being most competitive will match your expectations" & "." _
    & vbNewLine & vbNewLine & _
    .HTMLBody

    '.Send
    End With
    Next cell
    End Sub
  • To post as a guest, your comment is unpublished.
    fadysam · 1 years ago
    Dear,
    Can someone help me with my VBA,
    I need the signature in the email created:
  • To post as a guest, your comment is unpublished.
    Bara · 2 years ago
    Hi, I would need help with my macro, I need to insert the Outlook signature under the table, could you help me with that?

    Private Sub CommandButton1_Click()


    Dim outlook As Object
    Dim newEmail As Object
    Dim xInspect As Object
    Dim pageEditor As Object

    Set outlook = CreateObject("Outlook.Application")
    Set newEmail = outlook.CreateItem(0)

    With newEmail
    .To = Sheet5.Range("F1")
    .CC = ""
    .BCC = ""
    .Subject = Sheet5.Range("B5")
    .Body = Sheet5.Range("B41")
    .display

    Set xInspect = newEmail.GetInspector
    Set pageEditor = xInspect.WordEditor

    Sheet5.Range("B6:I7").Copy

    pageEditor.Application.Selection.Start = Len(.Body)
    pageEditor.Application.Selection.End = pageEditor.Application.Selection.Start
    pageEditor.Application.Selection.PasteAndFormat (wdFormatPlainText)

    .display
    Set pageEditor = Nothing
    Set xInspect = Nothing
    End With

    Set newEmail = Nothing
    Set outlook = Nothing

    End Sub
    • To post as a guest, your comment is unpublished.
      crystal · 2 years ago
      Hi Bara,
      Sorry can't help you with that. Thanks for your comment.
  • To post as a guest, your comment is unpublished.
    Kasun · 2 years ago
    Thanks a lot...
  • To post as a guest, your comment is unpublished.
    Prakash · 2 years ago
    Superb!!!!
  • To post as a guest, your comment is unpublished.
    Michael · 2 years ago
    I'm having trouble running this on excel 2016. I get a "Compile Error: User Defined Type Not Defined" message. Please help!
  • To post as a guest, your comment is unpublished.
    Maggie · 2 years ago
    If my body text is linked to pull from excel fields, the use of & .HTMLBody at the end of the string erases all of the body text and just leaves the signature.
  • To post as a guest, your comment is unpublished.
    viraj Shirsat · 3 years ago
    how to add signature if the macro is used by multiple user.
    for eg my macro will be run by 3 other persons as well. So how can the macro use the signature of the user who is running the macro.
    thanks in advance
    • To post as a guest, your comment is unpublished.
      crystal · 3 years ago
      Good Day,
      The VBA code can automatically recognize the default signature in the Outlook of the sender, and send email with his own signature through Outlook.
  • To post as a guest, your comment is unpublished.
    kkoruni · 3 years ago
    i am trying to add the outlook signature titled "default" but cannot seem that it works.
    can you please help? I believe that my "xMailout" logic is wrong. this is my suspected faulty area.

    Private Sub CommandButton1_Click()

    Dim xOutApp As Object
    Dim xOutMail As Object
    Dim xMailBody As String
    Dim xMailOut As Outlook.MailItem
    On Error Resume Next
    Set xOutApp = CreateObject("Outlook.Application")
    Set xOutMail = xOutApp.CreateItem(0)
    xMailBody = "Greetings:" & vbNewLine & vbNewLine & _
    "This is line 1" & vbNewLine & _
    "This is line 2" & vbNewLine & _
    "This is line 3" & vbNewLine & _
    "This is line 4"
    On Error Resume Next
    With xOutMail
    .To = "Email.here.com"
    .CC = "Email.here.com"
    .Subject = "Email Title Here - " & Range("Cell#").value
    .Body = xMailBody
    . Attachments.Add ActiveWorkbook.FullName
    Set xMailOut = xOutApp.CreateItem(olMailItem)
    With xMailOut
    .Display
    End With
    ActiveWorkbook.Save
    On Error GoTo 0
    Set xOutMail = Nothing
    Set xOutApp = Nothing
    End Sub
    • To post as a guest, your comment is unpublished.
      crystal · 3 years ago
      Good day,
      You script has been modified, please have try. Thank you.

      Private Sub CommandButton1_Click()
      Dim xOutApp As Object
      Dim xOutMail As Object
      Dim xMailBody As String
      Dim xMailOut As Outlook.MailItem
      On Error Resume Next
      Set xOutApp = CreateObject("Outlook.Application")
      Set xOutMail = xOutApp.CreateItem(0)
      xMailBody = "Greetings:" & vbNewLine & vbNewLine & _
      "This is line 1" & vbNewLine & _
      "This is line 2" & vbNewLine & _
      "This is line 3" & vbNewLine & _
      "This is line 4"
      On Error Resume Next
      With xOutMail
      .To = "Email.here.com"
      .CC = "Email.here.com"
      .Subject = "Email Title Here - " & Range("Cell#").Value
      .Body = xMailBody
      .Attachments.Add ActiveWorkbook.FullName
      Set xMailOut = xOutApp.CreateItem(olMailItem)
      With xMailOut
      .Display
      End With
      End With
      ActiveWorkbook.Save
      On Error GoTo 0
      Set xOutMail = Nothing
      Set xOutApp = Nothing
      End Sub
  • To post as a guest, your comment is unpublished.
    Chris · 3 years ago
    doesnt work with attachments in Office 2016
    • To post as a guest, your comment is unpublished.
      crystal · 3 years ago
      Dear Chris,
      The below VBA code can help you. After running the code, please select cells containing email addresses you will send emails to, and then select the files you need to attach in the email as attachments when the second dialog box pops up. And the default Outlook signature will be displayed in the email body as well. Thank you for your comment.

      Sub SendEmailToAddressInCells()
      Dim xRg As Range
      Dim xRgEach As Range
      Dim xRgVal As String
      Dim xAddress As String
      Dim xOutApp As Outlook.Application
      Dim xMailOut As Outlook.MailItem
      On Error Resume Next
      xAddress = ActiveWindow.RangeSelection.Address
      Set xRg = Application.InputBox("Please select email address range", "KuTools For Excel", xAddress, , , , , 8)
      If xRg Is Nothing Then Exit Sub
      Application.ScreenUpdating = False
      Set xOutApp = CreateObject("Outlook.Application")
      Set xRg = xRg.SpecialCells(xlCellTypeConstants, xlTextValues)
      Set xFileDlg = Application.FileDialog(msoFileDialogFilePicker)
      If xFileDlg.Show = -1 Then
      For Each xRgEach In xRg
      xRgVal = xRgEach.Value
      If xRgVal Like "?*@?*.?*" Then
      Set xMailOut = xOutApp.CreateItem(olMailItem)
      With xMailOut
      .Display
      .To = xRgVal
      .Subject = "Test"
      .HTMLBody = "This is a test email sending in Excel" & "
      " & .HTMLBody
      For Each xFileDlgItem In xFileDlg.SelectedItems
      .Attachments.Add xFileDlgItem
      Next xFileDlgItem
      '.Send
      End With
      End If
      Next
      Set xMailOut = Nothing
      Set xOutApp = Nothing
      Application.ScreenUpdating = True
      End If
      End Sub
  • To post as a guest, your comment is unpublished.
    Favio · 3 years ago
    thank u very much, u save my life with this template :D
    • To post as a guest, your comment is unpublished.
      crystal · 3 years ago
      Dear Favio,
      Glad to help.