Note: The other languages of the website are Google-translated. Back to English
Увійти  \/ 
x
or
x
Реєстрація  \/ 
x

or

Як вставити підпис Outlook під час надсилання електронної пошти в Excel?

Припустимо, що ви хочете надіслати електронне повідомлення безпосередньо в Excel, як можна додати підпис Outlook за замовчуванням до цього електронного листа? У цій статті наведено два методи, які допоможуть вам додати підпис Outlook під час надсилання електронної пошти в Excel.

Вставте підпис в електронну пошту Outlook під час надсилання за допомогою Excel VBA
Легко вставляйте підпис Outlook під час надсилання електронної пошти в Excel за допомогою чудового інструменту

Більше підручників з розсилки в Excel ...


Вставте підпис в електронну пошту Outlook під час надсилання за допомогою Excel VBA

Наприклад, на аркуші є список електронної адреси, і вам потрібно надіслати електронну пошту на всі ці адреси в Excel та включити підпис Outlook за замовчуванням до всіх електронних листів. Будь ласка, застосуйте наведений нижче код VBA для його досягнення.

1. Відкрийте аркуш, що містить список адрес електронної пошти, на який потрібно надіслати електронну пошту, а потім натисніть клавішу інший + F11 ключі.

2. На відкритті Microsoft Visual Basic для додатків вікна, натисніть Insert > Модуль а потім скопіюйте нижче 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 клавіша для запуску коду. Тоді a Kutools для Excel виберіть спливаюче вікно, будь ласка, виберіть електронні адреси, на які ви будете надсилати електронні листи, а потім натисніть ОК.

Потім створюються та відображаються електронні листи, що надсилаються на певні адреси. Ви бачите, що підпис Outlook за замовчуванням додано в кінці основного листа.

Порада:

  • 1. Ви можете змінити тіло електронної пошти в коді VBA 1 відповідно до своїх потреб.
  • 2. Після запуску коду, якщо з'явиться діалогове вікно з помилкою із попередженням, що визначений користувачем тип не визначений, закрийте це діалогове вікно та натисніть кнопку інструменти > посилання в Microsoft Visual Basic для додатків вікно. На відкритті Посилання - VBAProject вікно, перевірте Бібліотека об’єктів Microsoft Outlook і натисніть ОК. А потім запустіть код ще раз.

Легко вставляйте підпис Outlook під час надсилання електронної пошти в Excel за допомогою чудового інструменту

Якщо ви новачок у VBA, тут настійно рекомендуємо Надіслати електронні листи корисність Kutools для Excel для вас. За допомогою цієї функції ви можете легко надсилати електронні листи на основі певних полів у Excel та додавати до них підпис Outlook. Будь ласка, виконайте наступне.

Перед поданням заявки Kutools для Excel, будь ласка завантажте та встановіть його спочатку.

По-перше, вам потрібно створити список розсилки з різними полями, на основі яких ви будете надсилати електронні листи.

Ви можете вручну створити список розсилки, як вам потрібно, або застосувати функцію Створення списку розсилки, щоб швидко зробити це.

1. клацання Kutools Plus > Створити список розсилки.

2 В Створити список розсилки У діалоговому вікні вкажіть потрібні поля, виберіть, куди виводити список, а потім клацніть на OK кнопки.

3. Тепер створено зразок списку розсилки. Оскільки це зразок списку, вам потрібно змінити поля на певний необхідний вміст. (допускається кілька рядків)

4. Після цього виділіть весь список (включайте заголовки), натисніть Kutools Plus > Надіслати електронні листи.

5 В Надіслати електронні листи діалогове вікно:

  • 5.1) Елементи у вибраному списку розсилки автоматично розміщуються у відповідних полях;
  • 5.2) Завершіть текст електронної пошти;
  • 5.3) Перевірте обидва Надіслати електронну пошту через Outlook і Використовуйте налаштування підпису Outlook коробки;
  • 5.4) Клацніть на послати кнопку. Дивіться знімок екрана:

Тепер електронні листи надсилаються. І підпис Outlook за замовчуванням додається в кінці тіла електронної пошти.

  Якщо ви хочете отримати безкоштовну (30-денну) пробну програму, натисніть, щоб завантажити, а потім перейдіть до застосування операції, як описано вище.


Статті по темі:

Надішліть електронну пошту на електронні адреси, вказані в клітинках Excel
Припустимо, у вас є список адрес електронної пошти, і ви хочете надіслати повідомлення електронної пошти на ці адреси електронною поштою безпосередньо в Excel. Як цього досягти? Ця стаття покаже вам способи надсилання електронної пошти на декілька адрес електронної пошти, вказаних у клітинках Excel.

Надішліть електронний лист із копіюванням та вставкою певного діапазону в тіло електронної пошти в Excel
У багатьох випадках зазначений діапазон вмісту на аркуші Excel може бути корисним у спілкуванні електронною поштою. У цій статті ми представимо метод надсилання електронного листа із вказаним діапазоном вставки в тіло електронної пошти безпосередньо в Excel.

Надішліть електронний лист із кількома вкладеннями, прикріпленими в Excel
У цій статті йдеться про надсилання електронного листа через Outlook із кількома вкладеннями, приєднаними до Excel.

Надішліть електронний лист, якщо в Excel досягнуто терміну виконання
Наприклад, якщо термін виконання в стовпці C менше або дорівнює 7 дням (поточна дата - 2017/9/13), надішліть нагадування електронною поштою вказаному одержувачу в стовпці A із зазначеним вмістом у стовпці B. Як це зробити досягти цього? У цій статті буде запропоновано метод VBA для детального розгляду цього питання.

Автоматично надсилати повідомлення електронної пошти на основі значення комірки в Excel
Припустимо, ви хочете надіслати електронне повідомлення через Outlook певному одержувачу на основі вказаного значення комірки в Excel. Наприклад, коли значення комірки D7 на аркуші перевищує 200, електронна пошта створюється автоматично. Ця стаття представляє метод VBA для швидкого вирішення цієї проблеми.

Більше підручників з розсилки в Excel ...


Найкращі інструменти для підвищення продуктивності офісу

Kutools для Excel вирішує більшість ваших проблем і збільшує продуктивність на 80%

  • Повторне використання: Швидко вставте складні формули, діаграми і все, що ви використовували раніше; Шифрувати комірки з паролем; Створити список розсилки та надсилати електронні листи ...
  • Супер формула бар (легко редагувати кілька рядків тексту та формули); Макет читання (легко читати та редагувати велику кількість комірок); Вставте у відфільтрований діапазон...
  • Об’єднати клітинки / рядки / стовпці без втрати даних; Вміст розділених комірок; Об'єднати повторювані рядки / стовпці... Запобігання дублюючим клітинам; Порівняйте діапазони...
  • Виберіть Повторюваний або Унікальний Рядки; Виберіть Пусті рядки (усі клітинки порожні); Супер знахідка та нечітка знахідка у багатьох робочих зошитах; Випадковий вибір ...
  • Точна копія Кілька клітинок без зміни посилання на формулу; Автоматичне створення посилань на кілька аркушів; Вставте кулі, Прапорці та інше ...
  • Витяг тексту, Додати текст, Видалити за позицією, Видаліть пробіл; Створення та друк проміжних підсумків підкачки; Перетворення вмісту комірок та коментарів...
  • Супер фільтр (зберегти та застосувати схеми фільтрів до інших аркушів); Розширене сортування за місяцем / тижнем / днем, частотою та іншим; Спеціальний фільтр жирним, курсивом ...
  • Поєднайте робочі зошити та робочі аркуші; Об’єднати таблиці на основі ключових стовпців; Розділіть дані на кілька аркушів; Пакетне перетворення xls, xlsx та PDF...
  • Понад 300 потужних функцій. Підтримує Office / Excel 2007-2019 та 365. Підтримує всі мови. Простота розгортання на вашому підприємстві чи в організації. Повна функція 30-денної безкоштовної пробної версії. 60-денна гарантія повернення грошей.
вкладка kte 201905

Вкладка Office забезпечує інтерфейс з вкладками для Office і значно спрощує вашу роботу

  • Увімкніть редагування та читання на вкладках у Word, Excel, PowerPoint, Publisher, Access, Visio та Project.
  • Відкривайте та створюйте кілька документів на нових вкладках того самого вікна, а не в нових вікнах.
  • Збільшує вашу продуктивність на 50% та зменшує сотні клацань миші для вас щодня!
дно офісної таблиці
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.
    samer · 3 months ago
    It's really helpful code
    I need to change text format from right to left In the xOutMsg line
    help please .
  • 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 · 2 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 · 2 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 · 3 years ago
    Superb!!!!
  • To post as a guest, your comment is unpublished.
    Michael · 3 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 · 3 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 · 4 years ago
    thank u very much, u save my life with this template :D
    • To post as a guest, your comment is unpublished.
      crystal · 4 years ago
      Dear Favio,
      Glad to help.