Przejdź do głównej zawartości

Samouczek Excela – Wysyłaj e-maile z Excela

Zwykle do wysyłania wiadomości e-mail używamy klientów poczty e-mail, takich jak Outlook, Gmail itp. Jednak wiele osób przechowuje dane w skoroszytach programu Excel i musi wysyłać niektóre dane innym osobom podczas pracy z nimi. Dlatego muszą wysyłać e-maile bezpośrednio ze skoroszytu Excel, co oszczędza czas obsługi klienta pocztowego. Ten samouczek krok po kroku pokaże Ci, jak wysyłać wiadomości e-mail z programu Excel w różnych warunkach.

Note: Przed zastosowaniem poniższych metod należy skonfigurować klienta poczty e-mail programu Outlook na swoim komputerze i ustawić go jako domyślnego klienta poczty e-mail.

Spis treści: [ Ukrywać ]

(Kliknij dowolny nagłówek w spisie treści poniżej lub po prawej stronie, aby przejść do odpowiedniego rozdziału.)

1. Podstawy wysyłania e-maili z Excela

W tej sekcji przedstawiono podstawy wysyłania wiadomości e-mail z programu Excel.

1.1 Wysyłaj wiadomości e-mail z programu Excel za pomocą wbudowanych funkcji programu Excel

Jeśli chcesz wysyłać tylko proste wiadomości e-mail z programu Excel, zawierające tylko pola Do, Temat, DW i treść. Pomocne mogą być wbudowane funkcje programu Excel.


1.1.1 Wyślij e-mail z Excela z formułą

Jak pokazano w poniższej tabeli, aby wysyłać różne wiadomości e-mail z programu Excel na podstawie podanych pól, możesz użyć odwołań do komórek w danych polach, aby utworzyć różne formuły hiperłączy, aby to zrobić. Po utworzeniu hiperłączy e-mail możesz kliknąć hiperłącze, które chcesz automatycznie wysłać e-mail.

Uwaga: Jeśli w polach Do lub DW jest więcej niż jeden odbiorca, oddziel je średnikami.

Ta sekcja jest podzielona na cztery części, aby pokazać, jak osobno dodać adres e-mail, adresatów DW, wiersz tematu i treść do formuły hiperłącza. Proszę wykonać następujące czynności.

Składnia i argumenty HIPERŁĄCZE funkcja jest następująca.

Składnia

HYPERLINK(link_location, [friendly_name])

Argumenty

Link_lokalizacja (wymagane): Ścieżka i nazwa pliku do otwieranego dokumentu;
Wskazówki: w tym samouczku wszystkie pola potrzebne do wiadomości e-mail, takie jak adres e-mail odbiorcy, adresaci z DW, wiersz tematu i treść, należy umieścić w pierwszym argumencie „lokalizacja_linku”.
Przyjazne imię (opcjonalnie): Wartość skoku wyświetlana w komórce.

1.1.1.1 Dodaj adres e-mail do formuły hiperłącza

Tutaj używamy "prześlij do:" jako część formuły, aby dodać odbiorcę wiadomości e-mail. W tym przykładzie adres e-mail pierwszego odbiorcy znajduje się w komórce B2, więc musimy dodać „mailto:” i odwołać się do komórki B2.

„mailto:”&B2

1. Wybierz komórkę, aby wyświetlić hiperłącze. W tym przypadku wybieram komórkę F2.

2. Następnie wprowadź do niego następującą formułę.

=HYPERLINK("mailto:"&B2)

Note: Jeśli naciśniesz Wchodzę klucz, hiperłącze zostanie utworzone, jak pokazano na poniższym zrzucie ekranu. Po kliknięciu łącza zostanie utworzona wiadomość e-mail programu Outlook, a adres e-mail odbiorcy zostanie automatycznie wypełniony w polu Do.

Adres e-mail odbiorcy zostanie teraz dodany do formuły Hiperłącze. Wykonaj następujące kroki, aby dodać wiersz tematu, adresatów DW i tekst podstawowy zgodnie z potrzebami.


1.1.1.2 Dodaj odbiorców DW do formuły hiperłącza

Aby dodać odbiorców DW do funkcji hiperłącza, dodaj "?cc=" jako część formuły w następujący sposób.

„?cc=” & C2
gdzie C2 zawiera adres e-mail odbiorcy DW.

Formuła w komórce F2 powinna wyglądać następująco:

=HYPERLINK("mailto:" & B2 & "?cc=" & C2)


1.1.1.3 Dodaj wiersz tematu do formuły hiperłącza

Aby dodać wiersz tematu do funkcji hiperłącza, dodaj "&temat=" jako część formuły w następujący sposób.

"&temat="& D2
gdzie C2 zawiera temat wiadomości e-mail.

Formuła w komórce F2 powinna teraz wyglądać tak:

=HYPERLINK("mailto:" & B2 & "?cc=" & C2 & "&subject="& D2)


1.1.1.4 Dodaj tekst główny z podziałami wierszy do formuły hiperłącza

Ostatnim krokiem jest dodanie tekstu podstawowego do formuły hiperłącza. Jak widać w przykładzie, dwa wiersze tekstu w E2 są oddzielone podziałem wiersza i chcesz zachować podział wiersza w treści wiadomości e-mail. Czy program Outlook rozpoznaje łamanie wiersza w tej sytuacji? Sprawdźmy to.

Aby dodać tekst główny do formuły hiperłącza, musisz dodać „&ciało=” jako część formuły w następujący sposób.

"&ciało="& E2
gdzie E2 zawiera treść wiadomości e-mail.

Formuła w komórce F2 jest teraz wyświetlana w następujący sposób:

=HYPERLINK("mailto:" & B2 & "?cc=" & C2 & "&subject="& D2 & "&body="& E2)

Uwaga: Po naciśnięciu Wchodzę i kliknij link. W nowej wiadomości e-mail możesz zobaczyć, że zawartość treści wiadomości e-mail jest wyświetlana w tym samym wierszu.

Aby wyświetlić treść wiadomości e-mail w osobnych wierszach, musisz zmodyfikować zawartość komórki, dodając kod znaku powrotu karetki %0A do tekstu, w którym musisz wstawić podział wiersza. Zobacz zrzut ekranu:


1.1.1.5 Określ tekst do wyświetlenia dla hiperłącza

W powyższych krokach zakończyliśmy argument Link_location polami e-mail. W tej sekcji zakończymy kolejny argument [przyjazna_nazwa].

W takim przypadku chcę, aby komórka hiperłącza wyświetlała tekst jako „Wyślij e-mail do xx”, gdzie xx to imię i nazwisko odbiorcy w A2. Tak więc formuła w F2 powinna zostać zmieniona na:

=HYPERLINK("mailto:" & B2 & "?cc=" & C2 & "&subject="& D2 & "&body="& E2, "Email to "&A2)

Naciśnij Wchodzę aby uzyskać wynik.

Wybierz tę komórkę z formułą i przeciągnij ją Uchwyt autouzupełniania w dół, aby utworzyć inne hiperłącza e-mail. Zobacz zrzut ekranu:


1.1.2 Wyślij e-mail z Excela z funkcją hiperłącza

Z wyjątkiem użycia powyższej formuły Hiperłącza, możesz ręcznie utworzyć hiperłącze e-mail za pomocą wstawka Hiperłącze funkcja w Excelu. Ta sekcja pokaże Ci kroki.

1. Kliknij prawym przyciskiem myszy wiadomość e-mail, w której chcesz wstawić hiperłącze, wybierz Połączyć z menu po kliknięciu prawym przyciskiem myszy.

2. W wyskakującym okienku Wstaw łącze W oknie dialogowym należy skonfigurować w następujący sposób.

2.1) Wybierz E-mail w lewym okienku.
2.2) W Tekst do wyświetlenia pole tekstowe, wpisz tekst, który chcesz wyświetlić w komórce;
Tips: W tym oknie dialogowym nie można używać odwołań do komórek, dlatego należy ręcznie wpisywać pola wiadomości e-mail w następujący sposób.
2.3) W E-mail pole tekstowe, musisz wpisać następujące adresy e-mail.
mailto:adres e-mail
Zastąp tekst „adres e-mail” z Twoim prawdziwym adresem e-mail. Jeśli masz więcej niż jeden adres e-mail, oddziel je średnikami.
2.4) W Temat pole tekstowe, możesz tutaj określić temat wiadomości e-mail i treść wiadomości e-mail. Skonfiguruj w następujący sposób:
Temat wiadomości e-mail&body=Treść wiadomości e-mail
W takim przypadku wpisuję Miesięczna wyprzedaż&body=Cześć, %0otrzymano e-mail.
> gdzie przedmiotem jest Miesięczna sprzedaż;
i
> treść wiadomości e-mail to:
Cześć,
Email otrzymany. (%0A to kod znaku powrotu karetki, który może zostać rozpoznany przez program Outlook)
2.5) Kliknij OK przycisk, aby zapisać hiperłącze. Zobacz zrzut ekranu:

Po kliknięciu hiperłącza zostanie utworzona wiadomość e-mail programu Outlook z określonymi polami Do, Temat i Treść, jak pokazano na zrzucie ekranu poniżej.

Uwagi:

1) Za pomocą tej metody trzeba było ręcznie utworzyć hiperłącza do wiadomości e-mail.
2) Za pomocą tej metody nie można dodawać pola DW do wiadomości e-mail. Jeśli więc potrzebujesz pola DW, dodaj je z nowego okna otwierającego e-maila.

1.2 Wyślij wiadomość e-mail do wielu odbiorców w komórkach za pomocą skryptu VBA

W powyższym przykładzie możesz zobaczyć wiele adresów e-mail wyświetlanych w komórce, oddzielonych średnikami. Jeśli masz listę adresów e-mail, jak pokazano na zrzucie ekranu poniżej i chcesz wysłać do nich wszystkich e-mail lub niezależną wiadomość e-mail, poniższy kod VBA może ci wyświadczyć przysługę.


1.2.1 Wyślij wiadomość e-mail do wielu odbiorców w komórkach za pomocą skryptu VBA

1. W arkuszu zawierającym wszystkie adresy e-mail, na które chcesz wysłać wiadomość e-mail. wciśnij inny + F11 klawisze, aby otworzyć Microsoft Visual Basic for Applications okno.

2. w Microsoft Visual Basic for Applications okno, kliknij wstawka > Moduł, a następnie wklej następujący kod do Moduł (kod) okno.

Kod VBA: wyślij e-mail na listę adresów e-mail

Sub sendmultiple()
'updateby Extendoffice 20220802
    Dim xOTApp As Object
    Dim xMItem As Object
    Dim xCell As Range
    Dim xRg As Range
    Dim xEmailAddr As String
    Dim xTxt As String
    On Error Resume Next
    xTxt = ActiveWindow.RangeSelection.Address
    Set xRg = Application.InputBox("Please select the addresses list:", "Kutools for Excel", xTxt, , , , , 8)
    If xRg Is Nothing Then Exit Sub
    Set xOTApp = CreateObject("Outlook.Application")
    For Each xCell In xRg
        If xCell.Value Like "*@*" Then
            If xEmailAddr = "" Then
                xEmailAddr = xCell.Value
            Else
                xEmailAddr = xEmailAddr & ";" & xCell.Value
            End If
        End If
    Next
    Set xMItem = xOTApp.CreateItem(0)
    With xMItem
        .To = xEmailAddr
        .Subject = "Test"
        .Body = "Dear " _
                & vbNewLine & vbNewLine & _
                "This is a test email " & _
                "sending in Excel"
        .Display
    End With
End Sub

3. wciśnij F5 klucz do uruchomienia kodu i Kutools dla programu Excel pojawi się okno dialogowe. Wybierz listę adresów e-mail i kliknij OK.

Uwagi:

1) Jeśli nie chcesz, aby pojawiło się powyższe okno dialogowe i chcesz bezpośrednio określić zakres adresów e-mail w kodzie, zastąp ten wiersz:
Ustaw xRg = Application.InputBox("Wybierz listę adresów:", "Kutools for Excel", xTxt, , , , , 8)
w
Ustaw xRg = Zakres("A2:A7")
2) Możesz określić własny temat i treść wiadomości e-mail w następujących wierszach:
.Temat = "Test"
.Body = "Dear " _
        & vbNewLine & vbNewLine & _
        "This is a test email " & _
        "sending in Excel"
3) Aby bezpośrednio wysłać wiadomość e-mail bez otwierania następującego okna nowej wiadomości, musisz zastąpić ten wiersz:
.Pokaz
w
.Wysłać

Po uruchomieniu kodu wszystkie adresy e-mail z wybranego zakresu są wyświetlane w polu Do okna wiadomości. Zobacz zrzut ekranu:


1.2.2 Oddzielnie wysyłaj wiadomości e-mail do każdego odbiorcy wymienionego w komórkach za pomocą skryptu VBA

Powyższy kod dodaje wszystkie adresy e-mail z wybranego zakresu do pola Do okna wiadomości. Jeśli chcesz wysyłać wiadomości e-mail na każdy adres e-mail wymieniony w komórkach osobno, nie pozwalając im widzieć swoich adresów e-mail, możesz wypróbować poniższy skrypt VBA.

1. W arkuszu zawierającym wszystkie adresy e-mail, na które chcesz wysłać e-maile. wciśnij inny + F11 klucze do otwórz okno Microsoft Visual Basic for Applications.

2. w Microsoft Visual Basic for Applications okno, kliknij wstawka > Moduł, a następnie wklej następujący kod do okna modułu (kod).

Kod VBA: wysyłaj wiadomości e-mail na każdy adres e-mail wymieniony w komórkach osobno

Sub SendEmailToAddressInCells()
'Updated by Extendoffice 20220802
    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 the addresses list", "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

3. Następnie kliknij Tools > Referencje. W Referencje - VBAProject w oknie dialogowym, znajdź i sprawdź Biblioteka obiektów programu Microsoft Outlook 16.0 a następnie kliknij OK przycisk, aby zapisać zmiany.

4. wciśnij F5 klucz do uruchomienia kodu i Kutools dla programu Excel pojawi się okno dialogowe. Wybierz listę adresów e-mail i kliknij OK.

Uwagi:

1) Jeśli nie chcesz, aby pojawiło się powyższe okno dialogowe i chcesz bezpośrednio określić zakres adresów e-mail w kodzie, zastąp ten wiersz:
Ustaw xRg = Application.InputBox("Wybierz listę adresów:", "Kutools for Excel", xTxt, , , , , 8)
w
Ustaw xRg = Zakres("A2:A7")
2) Możesz określić własny temat i treść wiadomości e-mail w następujących wierszach:
.Subject = "Test"
.Body = "Dear " _
        & vbNewLine & vbNewLine & _
        "This is a test email " & _
        "sending in Excel"
3) Aby bezpośrednio wysłać wiadomość e-mail bez otwierania następujących okien wiadomości, musisz zastąpić ten wiersz:
.Pokaz
w
.Wysłać

W tym przykładzie w wybranym zakresie znajduje się sześć adresów e-mail, więc sześć okien wiadomości programu Outlook zostanie utworzonych automatycznie z oddzielnym adresem e-mail wymienionym w polu Do, jak pokazano na zrzucie ekranu poniżej.

5. W końcu kliknij Wyślij przycisk, aby wysłać wiadomość e-mail pojedynczo.


2. Wstaw załączniki lub podpis programu Outlook do wiadomości e-mail wysyłanych z programu Excel (za pomocą skryptów VBA)

W tej sekcji dowiesz się, jak wstawiać załączniki lub domyślny podpis programu Outlook w wiadomościach e-mail wysyłanych z programu Excel.

2.1 Wstawiaj załączniki do e-maili wysyłanych z Excela

Tutaj opisujemy różne przypadki wstawiania załączników i możesz wybrać metodę zgodnie ze swoimi potrzebami. W tej sekcji możesz się nauczyć (kliknij dowolny z poniższych linków, aby przejść do odpowiedniej metody):


2.1.1 Wyślij e-mailem określony plik jako załącznik

Możesz zastosować następujący kod VBA, aby wysłać e-mailem jeden lub więcej plików w folderze jako załączniki z programu Excel.

1. wciśnij inny + F11 klawiatura.

2. W otwarciu Microsoft Visual Basic for Applications okno, kliknij wstawka > Moduł. Następnie wklej następujący kod VBA do okna modułu (kod).

Kod VBA: e-mailem pliki w folderze jako załączniki z Excela

Sub EmailWithAttachments()
'Updated by Extendoffice 20220802
    Dim xStrFile As String
    Dim xFilePath As String
    Dim xFileDlg As FileDialog
    Dim xFileDlgItem As Variant
    Dim xOutApp As Outlook.Application
    Dim xMailOut As Outlook.MailItem
    Application.ScreenUpdating = False
    Set xOutApp = CreateObject("Outlook.Application")
    Set xMailOut = xOutApp.CreateItem(olMailItem)
    Set xFileDlg = Application.FileDialog(msoFileDialogFilePicker)
    If xFileDlg.Show = -1 Then
        With xMailOut
            .BodyFormat = olFormatRichText
            .To = ""
            .Subject = "test"
            .HTMLBody = "test"
            For Each xFileDlgItem In xFileDlg.SelectedItems
                .Attachments.Add xFileDlgItem
            Next xFileDlgItem
            .Display
        End With
    End If
    Set xMailOut = Nothing
    Set xOutApp = Nothing
    Application.ScreenUpdating = True
End Sub

Uwagi:

1) W linii .Do = , proszę wymienić z własnym adresem e-mail odbiorcy;
2) Zmień temat i treść wiadomości e-mail osobno w wierszu .Subject = "test" i .HTMLBody = "test";
3) Możesz dodać odbiorców w polach DW i UDW według potrzeb. Wystarczy dodać następujące dwie linie poniżej linii.Do = .
.CC = "adres e-mail"
.BCC = "adres e-mail"

3. Następnie kliknij Tools > Referencje. W Referencje - VBAProject w oknie dialogowym, znajdź i sprawdź Biblioteka obiektów programu Microsoft Outlook 16.0 a następnie kliknij OK przycisk, aby zapisać zmiany.

4. wciśnij F5 klucz do uruchomienia kodu, a następnie a Przeglądaj pojawi się okno, wybierz pliki, które chcesz załączyć w wiadomości e-mail, a następnie kliknij OK.

Następnie pojawia się okno wiadomości. Możesz zobaczyć, że wybrane pliki są wyświetlane jako załączniki w polu Załączone.


2.1.2 Wyślij e-mailem bieżący arkusz jako załącznik

Jeśli chcesz wysłać e-mailem bieżący arkusz jako załącznik z programu Excel, możesz zastosować skrypt VBA w tej sekcji.

1. wciśnij inny + F11 klawiatura.

2. W otwarciu Microsoft Visual Basic for Applications okno, kliknij wstawić > Moduł. Następnie wklej następujący kod VBA do Moduł (kod) okno.

Kod VBA: wyślij e-mailem bieżący arkusz jako załącznik

Sub SendWorkSheet()
'Update by Extendoffice 20220802
Dim xFile As String
Dim xFormat As Long
Dim Wb As Workbook
Dim Wb2 As Workbook
Dim FilePath As String
Dim FileName As String
Dim OutlookApp As Object
Dim OutlookMail As Object
On Error Resume Next
Application.ScreenUpdating = False
Set Wb = Application.ActiveWorkbook
ActiveSheet.Copy
Set Wb2 = Application.ActiveWorkbook
Select Case Wb.FileFormat
Case xlOpenXMLWorkbook:
    xFile = ".xlsx"
    xFormat = xlOpenXMLWorkbook
Case xlOpenXMLWorkbookMacroEnabled:
    If Wb2.HasVBProject Then
        xFile = ".xlsm"
        xFormat = xlOpenXMLWorkbookMacroEnabled
    Else
        xFile = ".xlsx"
        xFormat = xlOpenXMLWorkbook
    End If
Case Excel8:
    xFile = ".xls"
    xFormat = Excel8
Case xlExcel12:
    xFile = ".xlsb"
    xFormat = xlExcel12
End Select
FilePath = Environ$("temp") & "\"
FileName = Wb.Name & Format(Now, "dd-mmm-yy h-mm-ss")
Set OutlookApp = CreateObject("Outlook.Application")
Set OutlookMail = OutlookApp.CreateItem(0)
Wb2.SaveAs FilePath & FileName & xFile, FileFormat:=xFormat
With OutlookMail
    .To = ""
    .CC = "Email Address"
    .BCC = "Email Address"
    .Subject = "kte features"
    .Body = "Please check and read this document."
    .Attachments.Add Wb2.FullName
    .Display
    '.Send
End With
Wb2.Close
Kill FilePath & FileName & xFile
Set OutlookMail = Nothing
Set OutlookApp = Nothing
Application.ScreenUpdating = True
End Sub

Uwagi:

1) W linii .Do = , proszę wymienić z prawdziwym adresem e-mail odbiorcy. Jeśli potrzebujesz więcej niż jednego adresu e-mail, oddziel je średnikami.
2) Zmień temat i treść wiadomości e-mail osobno w wierszu .Subject = "funkcje kte" i .Body = "Proszę sprawdzić i przeczytać ten dokument.";
3) W następujących dwóch wierszach:
.CC = "adres e-mail"
.BCC = "adres e-mail"
Jeśli chcesz dodać odbiorców w DW i UDW, zastąp tekst „adres e-mail” w wierszach z potrzebnymi adresami e-mail.
Jeśli nie potrzebujesz odbiorców DW i UDW, po prostu dodaj apostrof ' przed każdą linią.

3. wciśnij F5 aby uruchomić kod, bieżący arkusz jest zapisywany jako skoroszyt programu Excel i automatycznie wstawiany do okna wiadomości jako załącznik. Zobacz zrzut ekranu:

Uwaga: Załączony skoroszyt zawierający tylko bieżący arkusz ma taką samą nazwę jak oryginalny skoroszyt. A czas uruchomienia kodu jest również dodawany do nazwy skoroszytu.


2.1.3 Wyślij e-mailem bieżący skoroszyt jako załącznik

Po nauczeniu się kodu VBA w celu wysłania bieżącego arkusza roboczego jako załącznika z programu Excel, tutaj udostępniamy kolejny skrypt VBA, który pomoże Ci wysłać e-mailem cały skoroszyt jako załącznik. Proszę wykonać następujące czynności.

1. wciśnij inny + F11 klawiatura.

2. W otwarciu Microsoft Visual Basic for Applications okno, kliknij wstawka > Moduł. Następnie wklej następujący kod VBA do okna modułu (kod).

Kod VBA: wyślij e-mailem bieżący skoroszyt jako załącznik z programu Excel

Sub SendWorkBook()
'Update by Extendoffice 20220802
Dim OutlookApp As Object
Dim OutlookMail As Object
Set OutlookApp = CreateObject("Outlook.Application")
Set OutlookMail = OutlookApp.CreateItem(0)
On Error Resume Next
With OutlookMail
    .To = ""
    .CC = "Email Address"
    .BCC = "Email Address"
    .Subject = "kte feature"
    .Body = "Hello, please check and read this document, thank you."
    .Attachments.Add Application.ActiveWorkbook.FullName
    .Display
    '.Send
End With
Set OutlookMail = Nothing
Set OutlookApp = Nothing
End Sub

Uwagi:

1) W linii .Do = , proszę wymienić z prawdziwym adresem e-mail odbiorcy. Jeśli potrzebujesz więcej niż jednego adresu e-mail, oddziel je średnikami.
2) Zmień temat i treść wiadomości e-mail osobno w wierszu .Subject = "funkcje kte" i .Body = "Proszę sprawdzić i przeczytać ten dokument.";
3) W następujących dwóch wierszach:
.CC = "adres e-mail"
.BCC = "adres e-mail"
Jeśli chcesz dodać odbiorców w DW i UDW, zastąp tekst „adres e-mail” w wierszach z potrzebnymi adresami e-mail.
Jeśli nie potrzebujesz odbiorców DW i UDW, po prostu dodaj apostrof ' przed każdą linią.

3. wciśnij F5 klucz, aby uruchomić kod, a następnie bieżący skoroszyt jest automatycznie wstawiany do okna wiadomości jako załącznik. Zobacz zrzut ekranu:


2.1.4 Wyślij cały skoroszyt jako załącznik PDF

Większość ludzi zwykle zapisuje skoroszyt programu Excel jako plik PDF, a następnie wysyła go jako załącznik do innych osób. W tej sekcji pokażę Ci sposób wysyłania wiadomości e-mail bezpośrednio z programu Excel z aktualnie otwartym skoroszytem jako załącznikiem PDF bez konieczności ręcznego zapisywania skoroszytu jako pliku PDF.

1. wciśnij inny + F11 klawiatura.

2. W otwarciu Microsoft Visual Basic for Applications okno, kliknij wstawka > Moduł. Następnie wklej następujący kod VBA do okna modułu (kod).

Kod VBA: wyślij e-mailem cały skoroszyt jako załącznik PDF

Sub SendWorkBookAsPDF()
'Update 20220803
Dim Wb As Workbook
Dim FilePath As String
Dim FileName As String
Dim xOutApp As Object
Dim xOutMail As Object
On Error Resume Next

Application.ScreenUpdating = False
Set Wb = Application.ActiveWorkbook
FileName = Left(Wb.Name, (InStrRev(Wb.Name, ".", -1, vbTextCompare) - 1)) & Format(Now, "dd-mmm-yy h-mm-ss") & ".pdf"
FilePath = Environ$("temp") & "\" & FileName

Wb.ExportAsFixedFormat Type:=xlTypePDF, FileName:= _
    FilePath, Quality:=xlQualityStandard, _
    IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _
    False

Set xOutApp = CreateObject("Outlook.Application")
Set xOutMail = xOutApp.CreateItem(0)
With xOutMail
       .To = ""
       .CC = "Email Address"
       .BCC = "Email Address"
       .Subject = "test"
       .Body = "test"
       .Attachments.Add FilePath
       .Display   'or use .Send
   End With
Kill FilePath
Set xOutMail = Nothing
Set xOutApp = Nothing
Application.ScreenUpdating = True
End Sub

Uwagi:

1) W linii .Do = , proszę wymienić z prawdziwym adresem e-mail odbiorcy. Jeśli potrzebujesz więcej niż jednego adresu e-mail, oddziel je średnikami.
2) Zmień temat i treść wiadomości e-mail osobno w wierszu .Subject = "test" i .Body = "test";
3) W następujących dwóch wierszach:
.CC = "Adres e-mail"
.BCC = "Adres e-mail"
Jeśli chcesz dodać odbiorców w DW i UDW, zastąp tekst „Adres e-mail” w wierszach z potrzebnymi adresami e-mail.
Jeśli nie potrzebujesz odbiorców DW i UDW, po prostu dodaj apostrof ' przed każdą linią.
4) Nazwa pliku PDF będzie taka sama jak nazwa oryginalnego skoroszytu. A czas uruchomienia kodu zostanie również dodany do nazwy skoroszytu. Jeśli nie musisz dodawać znacznika czasu do nazwy pliku, usuń & Formatuj(Teraz "dd-mmm-rr h-mm-ss") z następnego wiersza.
FileName = Left(Wb.Name, (InStrRev(Wb.Name, ".", -1, vbTextCompare) - 1)) & Format (teraz, "dd-mmm-yy h-mm-ss") & ".pdf "

3. wciśnij F5 klucz do uruchomienia kodu. Następnie bieżący skoroszyt jest automatycznie wstawiany do nowego okna wiadomości jako załącznik do pliku PDF. Zobacz zrzut ekranu:


2.1.5 Wyślij e-mailem bieżący arkusz jako załącznik PDF

Na przykład istnieje skoroszyt o nazwie „Sprzedaż miesięczna”, a tabela raportu sprzedaży została zakończona w arkuszu o nazwie „raport sprzedaży” i chcesz wysłać ten arkusz jako plik PDF do współpracowników. Poniższy kod VBA może ci wyświadczyć przysługę.

1. wciśnij inny + F11 klawiatura.

2. W otwarciu Microsoft Visual Basic for Applications okno, kliknij wstawić > Moduł. Następnie wklej następujący kod VBA do okna modułu (kod).

Kod VBA: wyślij e-mailem bieżący arkusz jako załącznik PDF

Sub SendWorkSheetToPDF()
'Update by Extendoffice 20220803
Dim Wb As Workbook
Dim FileName As String
Dim OutlookApp As Object
Dim OutlookMail As Object
On Error Resume Next
Set Wb = Application.ActiveWorkbook
FileName = Wb.FullName
xIndex = VBA.InStrRev(FileName, ".")
If xIndex > 1 Then FileName = VBA.Left(FileName, xIndex - 1)
FileName = FileName & "_" + ActiveSheet.Name & ".pdf"
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, FileName:=FileName
Set OutlookApp = CreateObject("Outlook.Application")
Set OutlookMail = OutlookApp.CreateItem(0)
With OutlookMail
    .To = ""
    .CC = "Email Address"
    .BCC = "Email Address"
    .Subject = "test"
    .Body = "test"
    .Attachments.Add FileName
    .Display
    '.Send
End With
Kill FileName
Set OutlookMail = Nothing
Set OutlookApp = Nothing
End Sub

Uwagi:

1) W linii .Do = , proszę wymienić z prawdziwym adresem e-mail odbiorcy. Jeśli potrzebujesz więcej niż jednego adresu e-mail, oddziel je średnikami.
2) Zmień temat i treść wiadomości e-mail osobno w wierszu .Subject = "test" i .Body = "test";
3) W następujących dwóch wierszach:
.CC = "Adres e-mail"
.BCC = "Adres e-mail"
Jeśli chcesz dodać odbiorców w DW i UDW, zastąp tekst „Adres e-mail” w wierszach z potrzebnymi adresami e-mail.
Jeśli nie potrzebujesz odbiorców DW i UDW, po prostu dodaj apostrof ' przed każdą linią.
4) Nazwa pliku PDF będzie brzmiała: nazwa oryginalnego skoroszytu_nazwa oryginalnego arkusza roboczego. W takim przypadku nazwą pliku PDF będzie Miesięczny raport sprzedaż_sprzedaży.

3. wciśnij F5 klucz do uruchomienia kodu. Następnie bieżący arkusz jest automatycznie wstawiany do nowego okna wiadomości jako załącznik do pliku PDF. Zobacz zrzut ekranu:


2.2 Wstaw podpis programu Outlook do wiadomości e-mail wysyłanych z programu Excel

Weź powyższy przypadek jako przykład, zastosuj powyższy kod VBA, aby wysłać bieżący arkusz jako załącznik do pliku PDF z programu Excel, ale podpisu programu Outlook nie można dodać do okna wiadomości. Aby zachować domyślny podpis programu Outlook w wiadomości e-mail wysłanej z programu Excel, pomocna będzie następująca metoda.

Poniżej wymieniono dwa kody VBA.

Kod VBA 1: Kod pomaga zachować podpis programu Outlook.

Kod VBA 2: Kod pomaga wysłać e-mailem bieżący arkusz jako załącznik PDF.

Kod VBA 1: Zachowaj podpis programu Outlook

.HTMLBody = "Email body" & "
" & .HTMLBody

Kod VBA 2: Wyślij e-mailem bieżący arkusz jako załącznik PDF

Sub SendWorkSheetToPDF()
'Update by Extendoffice 20220803
Dim Wb As Workbook
Dim FileName As String
Dim OutlookApp As Object
Dim OutlookMail As Object
On Error Resume Next
Set Wb = Application.ActiveWorkbook
FileName = Wb.FullName
xIndex = VBA.InStrRev(FileName, ".")
If xIndex > 1 Then FileName = VBA.Left(FileName, xIndex - 1)
FileName = FileName & "_" + ActiveSheet.Name & ".pdf"
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, FileName:=FileName
Set OutlookApp = CreateObject("Outlook.Application")
Set OutlookMail = OutlookApp.CreateItem(0)
With OutlookMail
    .To = ""
    .CC = "Email Address"
    .BCC = "Email Address"
    .Subject = "test"
    .Body = "test"
    .Attachments.Add FileName
    .Display
    '.Send
End With
Kill FileName
Set OutlookMail = Nothing
Set OutlookApp = Nothing
End Sub

1. Zwykle musisz nacisnąć inny + F11 klawisze, aby otworzyć Microsoft Visual Basic for Applications okno.

2. w Microsoft Visual Basic for Applications okno, kliknij wstawka > Moduł. Następnie wklej powyższy kod VBA 2 w oknie Moduł (kod).

3. Aby zachować domyślny podpis programu Outlook w wiadomości e-mail wysłanej z programu Excel, musisz zmodyfikować kod VBA 2 w następujący sposób:

1) Wymień .Ciało linia z Kod VBA 1;
2) Przesuń linię .Pokaz pod linią Z OutlookMail (lub z xMailOut w innych kodach). Zobacz zrzut ekranu:

Oto kompletny kod po modyfikacji.

Sub SendWorkSheetToPDF()
'Update by Extendoffice 20220803
Dim Wb As Workbook
Dim FileName As String
Dim OutlookApp As Object
Dim OutlookMail As Object
On Error Resume Next
Set Wb = Application.ActiveWorkbook
FileName = Wb.FullName
xIndex = VBA.InStrRev(FileName, ".")
If xIndex > 1 Then FileName = VBA.Left(FileName, xIndex - 1)
FileName = FileName & "_" + ActiveSheet.Name & ".pdf"
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, FileName:=FileName
Set OutlookApp = CreateObject("Outlook.Application")
Set OutlookMail = OutlookApp.CreateItem(0)
With OutlookMail
    .Display
    .To = ""
    .CC = "Email Address"
    .BCC = "Email Address"
    .Subject = "test"
    .HTMLBody = "Email body" & "
" & .HTMLBody .Attachments.Add FileName '.Send End With Kill FileName Set OutlookMail = Nothing Set OutlookApp = Nothing End Sub

4. wciśnij F5 klucz do uruchomienia kodu. Następnie otrzymasz nowe okno wiadomości z bieżącym arkuszem roboczym załączonym jako plik PDF, a domyślny podpis programu Outlook zostanie automatycznie wstawiony na końcu treści wiadomości e-mail.


3. Automatycznie wysyłaj wiadomości e-mail z programu Excel po spełnieniu warunku (za pomocą skryptów VBA)

W powyższych przykładach musisz uruchomić kod ręcznie, aby osiągnąć dostarczenie wiadomości e-mail. Jeśli chcesz uruchomić kod automatycznie po spełnieniu określonego warunku, na przykład gdy komórka osiągnie określoną wartość, kiedy zmieni się wartość komórki, kiedy osiągnięta zostanie data itp., wiadomość e-mail zostanie wysłana automatycznie. W tej sekcji wymieniono warunki, których użytkownicy programu Excel często wyszukiwali w Google, aby ułatwić automatyczne wysyłanie wiadomości e-mail z programu Excel po spełnieniu określonego warunku.

3.1 Automatycznie wyślij wiadomość e-mail, gdy komórka osiągnie określoną wartość

Jak pokazano na poniższym zrzucie ekranu, załóżmy, że masz tabelę sprzedaży z komórką D6 zawierającą sumę sprzedaży. Chcesz automatycznie wysłać wiadomość e-mail do swojego szefa na podstawie sumy sprzedaży, na przykład utworzyć lub wysłać wiadomość e-mail automatycznie, gdy suma sprzedaży przekroczy 10000, ale jeśli suma sprzedaży jest równa lub mniejsza niż 10000, nie zostanie podjęte żadne działanie.

1. W arkuszu zawiera tabelę sprzedaży, kliknij prawym przyciskiem myszy kartę arkusza i kliknij Wyświetl kod z menu po kliknięciu prawym przyciskiem myszy.

2. W otwarciu Microsoft Visual Basic for Applications w oknie, wklej następujący kod VBA w Arkusz (kod) okno.

Kod VBA: Automatycznie wyślij wiadomość e-mail, gdy komórka osiągnie określoną wartość w programie Excel

Dim xRg As Range
'Update by Extendoffice 20200803
Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
If Target.Cells.Count > 1 Then Exit Sub
Set xRg = Intersect(Range("D6"), Target)
If xRg Is Nothing Then Exit Sub
If IsNumeric(Target.Value) And Target.Value > 10000 Then
Call Mail_small_Text_Outlook
End If
End Sub
Sub Mail_small_Text_Outlook()
Dim xOutApp As Object
Dim xOutMail As Object
Dim xMailBody As String
Set xOutApp = CreateObject("Outlook.Application")
Set xOutMail = xOutApp.CreateItem(0)
xMailBody = "Hi boss" & vbNewLine & vbNewLine & _
"Total sales of over $10,000 in January: " & Range("D6")
On Error Resume Next
With xOutMail
.To = ""
.CC = "Email address"
.BCC = "Email address"
.Subject = "test"
.Body = xMailBody
.Display 'or use .Send
End With
On Error GoTo 0
Set xOutMail = Nothing
Set xOutApp = Nothing
End Sub

Private Sub Worksheet_Calculate()
Dim xI As Integer
Dim xRg As Range
Set xRg = Range("D6")
On Error GoTo Err01
xI = Int(xRg.Value)
If xI > 10000 Then
Call Mail_small_Text_Outlook
End If
Err01:
End Sub

Uwagi:

1) D6 to komórka, na podstawie której wyślesz wiadomość e-mail.
2) > 10000 jest warunkiem, co oznacza, że ​​wiadomość e-mail zostanie wysłana, gdy wartość w D6 będzie większa niż 10000.
3) Zasięg („D6”) w następnym wierszu oznacza, że ​​treść wiadomości e-mail będzie odwoływać się do wartości w D6.
xMailBody = "Hi boss" & vbNewLine & vbNewLine & _
"Total sales of over $10,000 in January: " & Range("D6")
4) W linii .Do = , proszę wymienić z prawdziwym adresem e-mail odbiorcy. Jeśli potrzebujesz więcej niż jednego adresu e-mail, oddziel je średnikami.
5) Zmień temat wiadomości e-mail w linii .Subject = "test".
6) W następujących dwóch wierszach:
.CC = "Adres e-mail"
.UDW = "Adres e-mail"
Jeśli chcesz dodać odbiorców w DW i UDW, zastąp tekst „Adres e-mail” w wierszach z potrzebnymi adresami e-mail.
Jeśli nie potrzebujesz odbiorców DW i UDW, po prostu dodaj apostrof ' przed każdą linią.

Odtąd, gdy wartość w komórce D6 przekroczy 10000, wiadomość e-mail zostanie utworzona, jak pokazano na zrzucie ekranu poniżej.


3.2 Automatycznie wyślij wiadomość e-mail po zmianie wartości komórki

Jak pokazano na poniższym zrzucie ekranu, załóżmy, że otrzymujesz skoroszyt zawierający miesięczną sprzedaż w różnych arkuszach roboczych i łączną sprzedaż w arkuszu. Musisz zweryfikować sumę sprzedaży i jeśli suma sprzedaży zostanie zmodyfikowana, odeślij skoroszyt z powrotem do nadawcy i poinformuj nadawcę, że komórka została zmodyfikowana.

1. W arkuszu zawiera tabelę sprzedaży, kliknij prawym przyciskiem myszy kartę arkusza i kliknij Wyświetl kod z menu po kliknięciu prawym przyciskiem myszy.

2. W otwarciu Microsoft Visual Basic for Applications wklej następujący kod VBA w oknie Arkusz (Kod).

Kod VBA: Automatycznie wyślij wiadomość e-mail po zmianie określonej wartości komórki

Private Sub Worksheet_Change(ByVal Target As Range)
'Updated by Extendoffice 20220803
Dim xRgSel As Range
Dim xOutApp As Object
Dim xMailItem As Object
Dim xMailBody As String
Dim xBoolean As Boolean
Dim xItsRG As Range
Dim xDDs As Range
Dim xDs As Range
On Error Resume Next
Application.ScreenUpdating = False
Application.DisplayAlerts = False
xBoolean = False
Set xRg = Range("B14")

Set xItsRG = Intersect(Target, xRg)
Set xDDs = Intersect(Target.DirectDependents, xRg)
Set xDs = Intersect(Target.Dependents, xRg)
If Not (xItsRG Is Nothing) Then
Set xRgSel = xItsRG
xBoolean = True
ElseIf Not (xDDs Is Nothing) Then
Set xRgSel = xDDs
xBoolean = True
ElseIf Not (xDs Is Nothing) Then
Set xRgSel = xDs
xBoolean = True
End If

ActiveWorkbook.Save
If xBoolean Then
Debug.Print xRgSel.Address

Set xOutApp = CreateObject("Outlook.Application")
Set xMailItem = xOutApp.CreateItem(0)
xMailBody = "The cell " & xRgSel.Address(False, False) & _
" in the worksheet '" & Me.Name & "' were modified on " & _
Format$(Now, "mm/dd/yyyy") & " at " & Format$(Now, "hh:mm:ss") & _
" by " & Environ$("username") & "."

With xMailItem
.To = ""
.CC = "Email address"
.BCC = "Email address"
.Subject = "Worksheet modified"
.Body = xMailBody
.Attachments.Add (ThisWorkbook.FullName)
.Display
End With
Set xRgSel = Nothing
Set xOutApp = Nothing
Set xMailItem = Nothing
End If
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub

Uwagi: W kodzie

1) B14 w kodzie oznacza, że ​​gdy zmieni się wartość komórki B14, wyślesz e-mail.
2) W linii .Do = , proszę wymienić z prawdziwym adresem e-mail odbiorcy. Jeśli potrzebujesz więcej niż jednego adresu e-mail, oddziel je średnikami.
3) Zmień temat wiadomości e-mail w linii .Temat = "Zmodyfikowano arkusz roboczy".
4) W następujących dwóch wierszach:
.CC = "Adres e-mail"
.BCC = "Adres e-mail"
Jeśli chcesz dodać odbiorców w DW i UDW, zastąp tekst „Adres e-mail” w wierszach z potrzebnymi adresami e-mail.
Jeśli nie potrzebujesz odbiorców DW i UDW, po prostu dodaj apostrof ' przed każdą linią.

Odtąd, gdy zmieni się wartość w komórce B14, wiadomość programu Outlook zostanie utworzona automatycznie, jak pokazano na zrzucie ekranu poniżej.


3.3 Automatyczne wysyłanie wiadomości e-mail po zapisaniu skoroszytu

Jeśli masz skoroszyt, który po zmodyfikowaniu musi zostać udostępniony innym, zwykle musisz zapisać skoroszyt, uruchomić klienta poczty e-mail, utworzyć nową wiadomość e-mail z załączonym skoroszytem, ​​skomponować odpowiednie pola, a następnie wysłać wiadomość e-mail. Ta sekcja pokaże Ci metodę automatycznego tworzenia wiadomości e-mail za każdym razem, gdy zapisujesz skoroszyt. Proszę wykonać następujące czynności.

1. wciśnij inny + F11 klawisze, aby otworzyć Microsoft Visual Basic for Applications okno.

2. W tym oknie kliknij dwukrotnie Ten zeszyt Projekty okienku, a następnie wklej następujący kod VBA w ThisWorkbook (kod) okno.

Kod VBA: Automatycznie wyślij wiadomość e-mail po zapisaniu skoroszytu

Private Sub Workbook_AfterSave(ByVal Success As Boolean)
'Updated by Extendoffice 20220804
    Dim xOutApp As Object
    Dim xMailItem As Object
    Dim xName As String
    On Error Resume Next
    Set xOutApp = CreateObject("Outlook.Application")
    Set xMailItem = xOutApp.CreateItem(0)
    xName = ActiveWorkbook.FullName
    With xMailItem
        .To = ""
        .CC = "Email address"
        .BCC = "Email address"
        .Subject = "The workbook has been updated"
        .Body = "Hi," & Chr(13) & Chr(13) & "File is now updated."
        .Attachments.Add xName
        .Display
       '.send
    End With
    Set xMailItem = Nothing
    Set xOutApp = Nothing
End Sub

Uwagi: W kodzie

1) W linii .Do = , proszę wymienić z prawdziwym adresem e-mail odbiorcy. Jeśli potrzebujesz więcej niż jednego adresu e-mail, oddziel je średnikami.
2) Zmień temat i treść wiadomości e-mail osobno w wierszach .Subject = "Skoroszyt został zaktualizowany" i .Body = "Cześć" & Chr(13) & Chr(13) & "Plik został zaktualizowany.".
3) W następujących dwóch wierszach:
.CC = "Adres e-mail"
.BCC = "Adres e-mail"
Jeśli chcesz dodać odbiorców w DW i UDW, zastąp tekst „Adres e-mail” w wierszach z potrzebnymi adresami e-mail.
Jeśli nie potrzebujesz odbiorców DW i UDW, po prostu dodaj apostrof ' przed każdą linią.

3. Od teraz, podczas zapisywania skoroszytu, naciskając Ctrl + S klawisze lub klikając Zapisz przycisk, wiadomość e-mail programu Outlook zostanie utworzona automatycznie. Możesz zobaczyć, że bieżący skoroszyt jest dołączony jako załącznik, a pola są wypełnione określoną zawartością. Zobacz zrzut ekranu:

Tips: Jeśli często korzystasz z tego skoroszytu, tutaj zalecamy zapisanie skoroszytu jako Skoroszyt Excel z włączoną obsługą makr aby zapisać skrypt VBA do wykorzystania w przyszłości. Kroki są następujące.

1) Kliknij filet > Zapisz jako, a następnie wybierz folder, w którym chcesz zapisać plik.
2) W Zapisz jako w oknie dialogowym, zmień nazwę pliku zgodnie z potrzebami w Nazwa pliku pole tekstowe, wybierz Skoroszyt Excel z włączoną obsługą makr Zapisz jako typ rozwijaną listę, a na koniec kliknij Zapisz przycisk. Zobacz zrzut ekranu:


3.4 Automatycznie wyślij e-mail o określonej godzinie

Załóżmy, że musisz wysłać do kogoś e-mail ze skoroszytem przydziału zadań w każdy piątek rano o 9 ranoi chcesz to zrobić automatycznie w programie Excel bez konieczności ręcznej obsługi klienta poczty e-mail. Ta sekcja pokaże Ci, jak to zrobić.

1. wciśnij inny + F11 klawisze, aby otworzyć Microsoft Visual Basic for Applications okno.

2. w Microsoft Visual Basic for Applications okno, kliknij wstawka > Moduł. Następnie wklej następujący kod VBA w oknie modułu.

Kod VBA1: Wyślij e-mailem bieżący skoroszyt jako załącznik z programu Excel

Sub Timer()
    If Weekday(Date) = vbFriday Then
        SendWorkBook
        Application.OnTime TimeValue("09:00:00"), "Timer"
    Else
        Application.OnTime TimeValue("09:00:00"), "Timer"
    End If
End Sub

Sub SendWorkBook()
'Update by Extendoffice 20220802
Dim OutlookApp As Object
Dim OutlookMail As Object
Set OutlookApp = CreateObject("Outlook.Application")
Set OutlookMail = OutlookApp.CreateItem(0)
On Error Resume Next
With OutlookMail
    .To = ""
    .CC = "Email Address"
    .BCC = "Email Address"
    .Subject = "kte feature"
    .Body = "Hello, please check and read this document, thank you."
    .Attachments.Add Application.ActiveWorkbook.FullName
    .Display
    '.Send
End With
Set OutlookMail = Nothing
Set OutlookApp = Nothing
End Sub

3. W tym oknie kliknij dwukrotnie Ten zeszyt Projekty okienku, a następnie wklej następujący kod VBA w ThisWorkbook (kod) okno.

Kod VBA 2: Automatycznie wyślij wiadomość e-mail o określonej godzinie

Private Sub Workbook_Open()
    Application.OnTime TimeValue("09:00:00"), "Timer"
End Sub

Uwagi:

1) W kodzie VBA 1, Piątek w kolejnym wierszu oznacza, że ​​wiadomość e-mail będzie wysyłana automatycznie w każdy piątek;
Jeśli dzień tygodnia (data) = vbpiątek, wtedy
2) W kodzie VBA 1 i VBA 2, czas 09:00:00 oznacza, że ​​wiadomość e-mail zostanie wysłana w określonym dniu o godzinie 9 rano.
Możesz zmienić dzień i godzinę według potrzeb.
3) Po uruchomieniu kodu zostanie utworzona wiadomość e-mail. Jeśli nie chcesz wyświetlać okna wiadomości i chcesz wysłać ją bezpośrednio, usuń linię .Pokaz z kodu VBA 1 i usuń apostrof przed linią '.Wysłać.

4. Zapisz kody, a następnie zapisz skoroszyt jako skoroszyt programu Excel z obsługą makr w następujący sposób.

4.1) Kliknij filet > Zapisz jako, a następnie wybierz folder, w którym chcesz zapisać plik.
4.2) W Zapisz jako w oknie dialogowym, zmień nazwę pliku zgodnie z potrzebami w Nazwa pliku pole tekstowe, wybierz Skoroszyt Excel z włączoną obsługą makr Zapisz jako typ rozwijaną listę, a na koniec kliknij Zapisz przycisk. Zobacz zrzut ekranu:

5. Otwórz zapisany skoroszyt z obsługą makr, a następnie wiadomość e-mail zostanie utworzona lub wysłana automatycznie, gdy nadejdzie dzień i godzina.


4. Dodatkowe tematy

W tej sekcji zebrano inne tematy, które możesz napotkać podczas wysyłania wiadomości e-mail z programu Excel.

4.1 Wyślij e-mailem zakres komórek z Excela (ze skryptem VBA)

Przypuśćmy, że w arkuszu programu Excel znajduje się miesięczna tabela sprzedaży, jak pokazano na zrzucie ekranu poniżej, i musisz wysłać tę miesięczną tabelę sprzedaży innym osobom jako treść wiadomości e-mail lub bezpośrednio jako załącznik. Tutaj zapewniamy dwie metody, aby to zrobić.

4.1.1 Wyślij e-mailem zakres jako część treści z Excela

Możesz uruchomić następujący kod VBA, aby wysłać zakres komórek jako część treści wiadomości e-mail z programu Excel

1. wciśnij inny + F11 klawisze, aby otworzyć Microsoft Visual Basic for Applications okno.

2. w Microsoft Visual Basic for Applications okno, kliknij Tools > Referencje. A następnie sprawdź Biblioteka obiektów programu Microsoft Outlook 16.0 i kliknij OK Referencje - VBAProject okno dialogowe.

3. kliknij wstawka > Moduł, a następnie wklej następujący kod VBA w Moduł (kod) okno.

Kod VBA: Wyślij zakres komórek jako część treści wiadomości e-mail z programu Excel

Sub SendARangeofCells()
'Updated by Extendoffice 20220809
    Dim xRg As Range
    Dim I, J As Long
    Dim xAddress As String
    Dim xMailOut As Object
    Dim xOutApp As Object
    On Error Resume Next
    Set xOutApp = CreateObject("Outlook.Application")
    Set xMailOut = xOutApp.CreateItem(olMailItem)
    xAddress = ActiveWindow.RangeSelection.Address
    Set xRg = Application.InputBox("Please select range you need to paste into email body", "KuTools For Excel", xAddress, , , , , 8)
If xRg Is Nothing Then Exit Sub
Application.ScreenUpdating = False
    Set xOutApp = CreateObject("Outlook.Application")
    Set xMailOut = xOutApp.CreateItem(olMailItem)
    With xMailOut
        .Subject = "test"
        .To = ""
        .CC = "Email address"
        .BCC = "Email address"
        .HTMLBody = RangetoHTML(xRg)
        .Display
        '.Send
    End With
    Set xMailOut = Nothing
    Set xOutApp = Nothing
    Application.ScreenUpdating = True
End Sub

 ' The following VBA script is cited from this page:
 ' https://stackoverflow.com/questions/18663127/paste-excel-range-in-outlook
Function RangetoHTML(rng As Range)
' By Ron de Bruin.
    Dim fso As Object
    Dim ts As Object
    Dim TempFile As String
    Dim TempWB As Workbook

    TempFile = Environ$("temp") & "/" & Format(Now, "dd-mm-yy h-mm-ss") & ".htm"

    'Copy the range and create a new workbook to past the data in
    rng.Copy
    Set TempWB = Workbooks.Add(1)
    With TempWB.Sheets(1)
        .Cells(1).PasteSpecial Paste:=8
        .Cells(1).PasteSpecial xlPasteValues, , False, False
        .Cells(1).PasteSpecial xlPasteFormats, , False, False
        .Cells(1).Select
        Application.CutCopyMode = False
        On Error Resume Next
        .DrawingObjects.Visible = True
        .DrawingObjects.Delete
        On Error GoTo 0
    End With

    'Publish the sheet to a htm file
    With TempWB.PublishObjects.Add( _
         SourceType:=xlSourceRange, _
         Filename:=TempFile, _
         Sheet:=TempWB.Sheets(1).Name, _
         Source:=TempWB.Sheets(1).UsedRange.Address, _
         HtmlType:=xlHtmlStatic)
        .Publish (True)
    End With

    'Read all data from the htm file into RangetoHTML
    Set fso = CreateObject("Scripting.FileSystemObject")
    Set ts = fso.GetFile(TempFile).OpenAsTextStream(1, -2)
    RangetoHTML = ts.ReadAll
    ts.Close
    RangetoHTML = Replace(RangetoHTML, "align=center x:publishsource=", _
                          "align=left x:publishsource=")

    'Close TempWB
    TempWB.Close savechanges:=False

    'Delete the htm file we used in this function
    Kill TempFile

    Set ts = Nothing
    Set fso = Nothing
    Set TempWB = Nothing
End Function

Uwagi: W kodzie

1) W linii .Do = , proszę wymienić z prawdziwym adresem e-mail odbiorcy. Jeśli potrzebujesz więcej niż jednego adresu e-mail, oddziel je średnikami.
2) W następujących dwóch wierszach:
.CC = "Adres e-mail"
.BCC = "Adres e-mail"
Jeśli chcesz dodać odbiorców w DW i UDW, zastąp tekst „Adres e-mail” w wierszach z potrzebnymi adresami e-mail.
Jeśli nie potrzebujesz odbiorców DW i UDW, po prostu dodaj apostrof ' przed każdą linią.

4. wciśnij F5 klucz do uruchomienia kodu. W wyskakującym okienku Kutools dla programu Excel w oknie dialogowym wybierz zakres komórek, które chcesz wysłać jako część treści wiadomości e-mail, a następnie kliknij OK. Zobacz zrzut ekranu:

Następnie wiadomość e-mail programu Outlook zostanie utworzona automatycznie. Możesz zobaczyć, że zakres wybrany w arkuszu jest wstawiany do treści wiadomości e-mail. Zobacz zrzut ekranu:


4.1.2 Wyślij zakres e-mailem jako załącznik z Excela

Jeśli chcesz wysłać e-mailem zakres komórek w arkuszu jako załącznik z programu Excel. Możesz wypróbować następujący kod VBA.

1. wciśnij inny + F11 klawiatura.

2. W otwarciu Microsoft Visual Basic for Applications okno, kliknij wstawka > Moduł. Następnie wklej następujący kod VBA w Moduł (kod) okno.

Kod VBA: wyślij e-mailem zakres jako załącznik z programu Excel

Sub SendRange()
'Update 20220809
Dim xFile As String
Dim xFormat As Long
Dim Wb As Workbook
Dim Wb2 As Workbook
Dim Ws As Worksheet
Dim FilePath As String
Dim FileName As String
Dim OutlookApp As Object
Dim OutlookMail As Object
Dim WorkRng As Range
xTitleId = "KutoolsforExcel"
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Set Wb = Application.ActiveWorkbook
Wb.Worksheets.Add
Set Ws = Application.ActiveSheet
WorkRng.Copy Ws.Cells(1, 1)
Ws.Copy
Set Wb2 = Application.ActiveWorkbook
Select Case Wb.FileFormat
Case xlOpenXMLWorkbook:
    xFile = ".xlsx"
    xFormat = xlOpenXMLWorkbook
Case xlOpenXMLWorkbookMacroEnabled:
    If Wb2.HasVBProject Then
        xFile = ".xlsm"
        xFormat = xlOpenXMLWorkbookMacroEnabled
    Else
        xFile = ".xlsx"
        xFormat = xlOpenXMLWorkbook
    End If
Case Excel8:
    xFile = ".xls"
    xFormat = Excel8
Case xlExcel12:
    xFile = ".xlsb"
    xFormat = xlExcel12
End Select
FilePath = Environ$("temp") & "\"
FileName = Wb.Name & Format(Now, "dd-mmm-yy h-mm-ss")
Set OutlookApp = CreateObject("Outlook.Application")
Set OutlookMail = OutlookApp.CreateItem(0)
Wb2.SaveAs FilePath & FileName & xFile, FileFormat:=xFormat
With OutlookMail
    .To = ""
    .CC = "Email address"
    .BCC = "Email address"
    .Subject = "Monthly sales for 2021"
    .Body = "Hello, please check and read this document. "
    .Attachments.Add Wb2.FullName
    .Display
    '.Send
End With
Wb2.Close
Kill FilePath & FileName & xFile
Set OutlookMail = Nothing
Set OutlookApp = Nothing
Ws.Delete
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub

Uwagi:

1) W linii .Do = , proszę wymienić z prawdziwym adresem e-mail odbiorcy. Jeśli potrzebujesz więcej niż jednego adresu e-mail, oddziel je średnikami.
2) Zmień temat i treść wiadomości e-mail osobno w wierszu .Subject = "Sprzedaż miesięczna za rok 2021" i .Body = "Witam, sprawdź i przeczytaj ten dokument.";
3) W następujących dwóch wierszach:
.CC = "adres e-mail"
.BCC = "adres e-mail"
Jeśli chcesz dodać odbiorców w DW i UDW, zastąp tekst „adres e-mail” w wierszach z potrzebnymi adresami e-mail.
Jeśli nie potrzebujesz odbiorców DW i UDW, po prostu dodaj apostrof ' przed każdą linią.

3. wciśnij F5 klucz do uruchomienia kodu. W wyskakującym okienku Kutools dla programu Excel w oknie dialogowym wybierz zakres komórek, które chcesz wysłać jako załącznik w wiadomości e-mail, a następnie kliknij OK. Zobacz zrzut ekranu:

Następnie wiadomość e-mail programu Outlook zostanie utworzona automatycznie. Zakres komórek wybranych w arkuszu jest zapisywany jako skoroszyt programu Excel i dołączany w oknie wiadomości. Zobacz zrzut ekranu:


4.2 Wysyłaj e-maile po kliknięciu przycisku w programie Excel

Jeśli musisz kliknąć przycisk polecenia, aby uruchomić makro do wysyłania wiadomości e-mail z programu Excel, na przykład wyślij bieżący skoroszyt jako załącznik do innych osób, klikając przycisk polecenia w arkuszu. Możesz wykonać następujące kroki, aby to zrobić.

1. kliknij Deweloper > wstawka > Przycisk polecenia (formant ActiveX). Następnie narysuj przycisk polecenia w arkuszu.

Tips: Jeśli masz już przycisk polecenia, pomiń ten krok.

2. wciśnij inny + F11 klawisze, aby otworzyć Microsoft Visual Basic for Applications okno. W oknie kliknij wstawka > Tryb, a następnie wklej kod VBA (kod używany do wysyłania bieżącego skoroszytu w wiadomości e-mail jako załącznik z programu Excel) w oknie modułu (kod).

Kliknij tutaj aby otrzymać kod.

Note: Tutaj nazwa makra utworzonego w kroku 2 to Wyślij zeszyt.

3. wciśnij inny + Q klucze do zamknięcia Microsoft Visual Basic for Applications okno.

4. Teraz musisz przypisać makro do przycisku polecenia. Kliknij prawym przyciskiem myszy przycisk polecenia, wybierz Wyświetl kod z menu prawego przycisku myszy.

5. Następnie Microsoft Visual Basic for Applications wyskakuje okno, możesz zobaczyć następujące dwie linie są wymienione w Arkusz (kod) okno.

Private Sub CommandButton1_Click()
End Sub

6. Wprowadź nazwę istniejącego makra w podprocedurze dla przycisku polecenia.

7. wciśnij inny + Q klucze do zamknięcia Edytor Visual Basici kliknij Deweloper > Tryb projektowania aby wyłączyć tryb projektowania.

Teraz możesz kliknąć przycisk polecenia, aby wysłać wiadomość e-mail z bieżącym skoroszytem jako załącznik do wiadomości e-mail.


4.3 Wysyłaj e-maile z określonego konta e-mail

Zwykle podczas uruchamiania wiadomości e-mail z programu Excel z kodem VBA konto e-mail nadawcy jest domyślnym kontem w programie Outlook. Załóżmy, że skonfigurowałeś kilka kont e-mail w programie Outlook i chcesz używać określonego konta do wysyłania wiadomości e-mail z programu Excel zamiast korzystania z konta domyślnego. Poniższy kod VBA może pomóc.

W takim przypadku konieczne są następujące kody.

Kod VBA 1:

Dim OutlookMail As Outlook.MailItem

Kod VBA 2:

For Each xAccount In OutlookApp.Session.Accounts
  If VBA.LCase(xAccount.SmtpAddress) = VBA.LCase("") Then 'Specify your email account here
    OutlookMail.SendUsingAccount = xAccount
  End If
Next

Jak korzystać z powyższego kodu VBA?

1) We własnym kodzie musisz zamienić linię, taką jak „Przyciemnij OutlookMail jako obiekt” z kodem VBA 1;
2) Dodaj kod VBA 2 poniżej linii „On Error Resume Next” w swoim kodzie. Następnie określ adres e-mail, którego użyjesz do wysłania wiadomości e-mail w kodzie VBA 2.

W tym przykładzie określimy określone konto e-mail, aby wysłać bieżący skoroszyt jako załącznik z programu Excel. Proszę wykonać następujące czynności.

1. wciśnij inny + F11 Klucze. w Microsoft Visual Basic for Applications okno, kliknij Tools > Referencje. A następnie sprawdź Biblioteka obiektów programu Microsoft Outlook 16.0 i kliknij OK Referencje - VBAProject okno dialogowe.

2. kliknij wstawka > Moduł. Następnie wklej następujący kod VBA w Moduł (kod) okno.

Kod VBA: wyślij bieżący skoroszyt jako załącznik do wiadomości e-mail z programu Excel za pośrednictwem określonego konta programu Outlook

Sub SendWorkBook()
'Update by Extendoffice 20220809
Dim OutlookApp As Object
Dim OutlookMail As Outlook.MailItem 'important! Here can’t be declared as Object
Dim xAccount As Account
Set OutlookApp = CreateObject("Outlook.Application")
Set OutlookMail = OutlookApp.CreateItem(olMailItem)
On Error Resume Next
'The following lines helps to specify a certian email account
For Each xAccount In OutlookApp.Session.Accounts
  If VBA.LCase(xAccount.SmtpAddress) = VBA.LCase("") Then 'Specify your email account here
    OutlookMail.SendUsingAccount = xAccount
  End If
Next
'End
With OutlookMail
    .To = ""
    .CC = "Email Address"
    .BCC = "Email Address"
    .Subject = "kte feature"
    .Body = "Hello, please check and read this document, thank you."
    .Attachments.Add Application.ActiveWorkbook.FullName
    .Display
    '.Send
End With
Set OutlookMail = Nothing
Set OutlookApp = Nothing
End Sub

3. wciśnij F5 klucz do uruchomienia kodu. Następnie pojawi się wiadomość e-mail programu Outlook, widać, że Cena Od pole jest wypełniane kontem e-mail określonym w kodzie.


4.4 Wyślij e-mail, gdy nadejdzie data

Jeśli chcesz wysłać wiadomość e-mail w oparciu o konkretny termin, na przykład, jak pokazano na poniższym zrzucie ekranu, znajduje się tabela projektu, gdy termin z zakresu E2:E7 jest równy lub krótszy niż 7 dni od dzisiaj (zakładając, że aktualna data to 2022/8/4), do odpowiednich liderów projektów zostanie automatycznie wysłana wiadomość e-mail z powiadomieniem o zbliżającym się wygaśnięciu projektu.

1. W arkuszu roboczym zawiera tabelę projektu, kliknij prawym przyciskiem myszy kartę arkusza i kliknij Wyświetl kod z menu po kliknięciu prawym przyciskiem myszy.

2. W otwarciu Microsoft Visual Basic for Applications w oknie, wklej następujący kod VBA w Arkusz (kod) okno.

Kod VBA: Automatycznie wyślij wiadomość e-mail po upływie terminu

Public Sub SendMailDueDate()
'Updated by Extendoffice 20220804
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
Set xRgDate = Range("E2:E7") 'Please reference the due date column range
If xRgDate Is Nothing Then Exit Sub
Set xRgSend = Range("C2:C7") 'Please reference the email addresses column range
If xRgSend Is Nothing Then Exit Sub
Set xRgText = Range("D2:D7") 'Please reference the remark column range (the remark used to notify project leaders of the expiration of the project)
If xRgText Is Nothing Then Exit Sub
xLastRow = xRgDate.Rows.Count
Set xRgDate = xRgDate(1)
Set xRgSend = xRgSend(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 <= 7 And CDate(xRgDateVal) - Date > 0 Then
xRgSendVal = xRgSend.Offset(i - 1).Value
xMailSubject = xRgText.Offset(i - 1).Value & " on " & xRgDateVal
vbCrLf = "

" xMailBody = "" xMailBody = xMailBody & "Dear " & xRgSendVal & vbCrLf xMailBody = xMailBody & "Remark : " & xRgText.Offset(i - 1).Value & vbCrLf xMailBody = xMailBody & "" Set xMailItem = xOutApp.CreateItem(0) With xMailItem .Subject = xMailSubject .To = xRgSendVal .CC = "Email address" .BCC = "Email address" .HTMLBody = xMailBody .Display '.Send End With Set xMailItem = Nothing End If End If Next Set xOutApp = Nothing End Sub

Uwagi: W kodzie

1) W kolejnych wierszach E2: E7 zawiera terminy, na podstawie których będziesz wysyłać e-maile. C2: C7 zawiera adresy e-mail, na które będziesz wysyłać e-maile. I D2: D7 zawiera uwagi, które dodasz w treści wiadomości e-mail, aby powiadomić odbiorców, że projekt wkrótce wygaśnie. Możesz zmieniać zakresy według potrzeb.
Ustaw xRgDate = Zakres("E2:E7")
Ustaw xRgSend = Zakres("C2:C7")
Ustaw xRgText = Zakres("D2:D7")
2) Kolejny wiersz oznacza, że ​​termin płatności musi być dłuższy niż 1 dzień i równy lub krótszy niż 7 dni od dzisiaj. Możesz to zmienić według potrzeb.
Jeśli CDate(xRgDateVal) - Data <= 7 I CDate(xRgDateVal) - Data > 0 Wtedy
3) W linii .Do = , proszę wymienić z prawdziwym adresem e-mail odbiorcy. Jeśli potrzebujesz więcej niż jednego adresu e-mail, oddziel je średnikami.
4) Zmień temat wiadomości e-mail w linii .Temat = "Zmodyfikowano arkusz roboczy".
5) W następujących dwóch wierszach:
.CC = "Adres e-mail"
.BCC = "Adres e-mail"
Jeśli chcesz dodać odbiorców w DW i UDW, zastąp tekst „Adres e-mail” w wierszach z potrzebnymi adresami e-mail.
Jeśli nie potrzebujesz odbiorców DW i UDW, po prostu dodaj apostrof ' przed każdą linią.

3. wciśnij F5 klucz do uruchomienia kodu. Następnie, jeśli data wygaśnięcia jest zgodna z warunkami, zostanie utworzony odpowiedni e-mail. W takim przypadku zostaną utworzone dwa e-maile, jak pokazano na poniższym zrzucie ekranu.


5. Poręczne narzędzie ułatwiające wysyłanie wiadomości e-mail z programu Excel

Jeśli jesteś nowicjuszem VBA, powyższe metody mogą nie być dla ciebie łatwe. Tutaj polecamy Kutools dla programu Excel'S Wysyłać emaile funkcja, dzięki tej funkcji możesz łatwo wysyłać wiadomości e-mail z programu Excel za pomocą kilku kliknięć. Proszę wykonać następujące czynności.

Przed złożeniem wniosku Kutools dla programu ExcelProszę pobierz i zainstaluj najpierw.

5.1 Z łatwością utwórz listę mailingową zawierającą potrzebne pola e-mail

Przed zastosowaniem funkcji Wyślij e-maile musisz utworzyć listę adresową zawierającą potrzebne pola e-mail. Tutaj może pomóc funkcja Utwórz listę mailingową.

1. kliknij Kutools Plus > Utwórz listę mailingową.

2. W otwarciu Utwórz listę mailingową okno, musisz skonfigurować w następujący sposób.

2.1) W Kolumny dla listy mailingowej sekcji, zaznacz pola, których potrzebujesz w swoim e-mailu;
2.2) W Dołącz pliki sekcji, zaznacz jeden lub więcej załączników, których możesz potrzebować;
2.3) Określ lokalizację, w której chcesz umieścić listę mailingową;
2.4) Kliknij Stwórz przycisk. Zobacz zrzut ekranu:

Następnie tworzona jest przykładowa tabela listy mailingowej, jak pokazano na poniższym zrzucie ekranu.

3. Teraz musisz zastąpić oryginalne dane w próbce własnymi danymi pola.

Teraz utworzyłeś tabelę listy mailingowej. Proszę iść dalej, aby zastosować Wysyłać emaile funkcja wysyłania wiadomości e-mail z programu Excel na podstawie utworzonych pól.

  Jeśli chcesz mieć bezpłatną wersję próbną (30 dni) tego narzędzia, kliknij, aby go pobrać, a następnie przejdź do wykonania operacji zgodnie z powyższymi krokami.


5.2 Łatwe wysyłanie e-maili, w tym pól utworzonych na liście mailingowej

Po utworzeniu listy mailingowej (kliknij, aby wiedzieć jak), który zawiera pola, których możesz potrzebować w wiadomościach e-mail, możesz teraz wysyłać wiadomości e-mail z programu Excel z tymi polami.

1. Wybierz całą listę mailingową, kliknij Kutools Plus > Wysyłać emaile.

2. w Wysyłać emaile w oknie dialogowym, wykonaj następującą konfigurację.

2.1) Pola są automatycznie wypełniane w oknie dialogowym każdego pola przez pola określone na liście mailingowej;
Tips: Jeśli w tej chwili nie potrzebujesz określonego pola, wybierz pustą opcję z listy rozwijanej.
2.2) Wstaw symbol zastępczy (opcjonalnie): Jeśli chcesz wstawić zmienne informacje w treści wiadomości e-mail.
Na przykład możesz potrzebować wysłać wiadomość e-mail do wielu odbiorców ze spersonalizowaną nazwą dla każdego z nich, musisz umieścić kursor w treści wiadomości e-mail, w której musisz wstawić symbol zastępczy, wybierz pole „E: Imię” (lub inne pole nazwy na liście e-mailowej), a następnie kliknij przycisk Wstaw zastępczy przycisk;
Gdy adresaci otrzymają wiadomość e-mail, treść wiadomości e-mail pozostaje taka sama, ale nazwy są unikalne dla każdego z nich.
2.3) Skomponuj treść wiadomości e-mail według potrzeb;
2.4) Upewnij się, że Wysyłaj e-maile przez Outlooka pole jest zaznaczone;
2.5) Kliknij Wyślij przycisk. Zobacz zrzut ekranu:

3. Następnie a Kutools dla programu Excel pojawi się okno dialogowe z informacją, ile e-maili zostało wysłanych, kliknij OK aby zamknąć to okno dialogowe.

Tips: Możesz przejść do Elementy wysłane w Outlooku, aby sprawdzić wysłane wiadomości e-mail.


5.3 Łatwe wysyłanie wiadomości e-mail z treścią HTML (w tym hiperłącze, obraz itp.)

Ta funkcja wysyłania wiadomości e-mail umożliwia tworzenie wiadomości e-mail w formacie HTML, która zawiera hiperłącze, obraz, różne rozmiary czcionek i kolory czcionek itp.

Po tworzenie listy mailingowej zawierającej potrzebne pola e-mail,

Kiedy skonfigurować okno dialogowe Wyślij e-maile, możesz wzbogacić treść treści, korzystając z opcji na pasku narzędzi.

Zobacz zrzut ekranu poniżej:


5.4 Łatwo wstawiaj domyślny podpis programu Outlook podczas wysyłania wiadomości e-mail

W powyższej metodzie pokazaliśmy kod VBA, który pomoże Ci wysyłać wiadomości e-mail z domyślnym podpisem programu Outlook. Tutaj, z funkcją wysyłania wiadomości e-mail, wystarczy zaznaczyć opcję, a następnie domyślny podpis programu Outlook zostanie wstawiony do wiadomości e-mail wysłanych z programu Excel.

Po tworzenie listy mailingowej zawierającej potrzebne pola e-mail,

Kiedy skonfigurować okno dialogowe Wyślij e-maile, musisz kliknąć Opcje > Użyj ustawień podpisu programu Outlook.

Note: Upewnij się, że przed opcją Użyj ustawień podpisu programu Outlook jest wyświetlany znacznik wyboru.

Gdy adresaci otrzymają wiadomość e-mail, widzą domyślny podpis programu Outlook wyświetlany na końcu treści wiadomości e-mail.


5.5 Łatwe wysyłanie e-maili z określonego konta e-mail

Aby użyć określonego konta e-mail do wysyłania wiadomości e-mail z programu Excel zamiast korzystania z konta domyślnego, funkcja wysyłania wiadomości e-mail może również pomóc w łatwym wykonaniu.

Po tworzenie listy mailingowej zawierającej potrzebne pola e-mail,

Kiedy skonfigurować okno dialogowe Wyślij e-maile, musisz kliknąć Opcje > Wysłane z, a następnie kliknij konto e-mail, z którego chcesz wysyłać e-maile.

Note: Po wybraniu konta e-mail, przed nim zostanie wyświetlony znacznik wyboru.

Kliknij tutaj aby dowiedzieć się więcej o tej funkcji wysyłania wiadomości e-mail.

  Jeśli chcesz mieć bezpłatną wersję próbną (30 dni) tego narzędzia, kliknij, aby go pobrać, a następnie przejdź do wykonania operacji zgodnie z powyższymi krokami.

Podsumowując, wysyłanie e-maili z Excela jest bardzo przydatne w naszej codziennej pracy. Ten artykuł obejmuje bardziej kompleksowe tematy wysyłania wiadomości e-mail z programu Excel, jeśli istnieją inne tematy lub łatwiejsze rozwiązania, zostaw komentarz, aby dać mi znać.

Najlepsze narzędzia biurowe

🤖 Pomocnik AI Kutools: Zrewolucjonizuj analizę danych w oparciu o: Inteligentne wykonanie   |  Wygeneruj kod  |  Twórz niestandardowe formuły  |  Analizuj dane i generuj wykresy  |  Wywołaj funkcje Kutools...
Popularne funkcje: Znajdź, wyróżnij lub zidentyfikuj duplikaty   |  Usuń puste wiersze   |  Łącz kolumny lub komórki bez utraty danych   |   Okrągły bez wzoru ...
Super wyszukiwanie: Wiele kryteriów VLookup    Wiele wartości VLookup  |   Przeglądanie pionowe na wielu arkuszach   |   Wyszukiwanie rozmyte ....
Zaawansowana lista rozwijana: Szybko twórz listę rozwijaną   |  Zależna lista rozwijana   |  Lista rozwijana wielokrotnego wyboru ....
Menedżer kolumn: Dodaj określoną liczbę kolumn  |  Przesuń kolumny  |  Przełącz stan widoczności ukrytych kolumn  |  Porównaj zakresy i kolumny ...
Polecane funkcje: Fokus siatki   |  Widok projektu   |   Duży pasek formuły    Menedżer skoroszytów i arkuszy   |  Biblioteka zasobów (Automatyczny tekst)   |  Selektor dat   |  Połącz arkusze   |  Szyfruj/odszyfruj komórki    Wysyłaj e-maile według listy   |  Super filtr   |   Specjalny filtr (filtruj pogrubienie/kursywa/przekreślenie...) ...
15 najlepszych zestawów narzędzi12 Tekst Tools (Dodaj tekst, Usuń znaki, ...)   |   50 + Wykres rodzaje (Wykres Gantta, ...)   |   40+ Praktyczne Wzory (Oblicz wiek na podstawie urodzin, ...)   |   19 Wprowadzenie Tools (Wstaw kod QR, Wstaw obraz ze ścieżki, ...)   |   12 Konwersja Tools (Liczby na słowa, Przeliczanie walut, ...)   |   7 Połącz i podziel Tools (Zaawansowane wiersze łączenia, Podział komórki, ...)   |   ... i więcej

Zwiększ swoje umiejętności Excela dzięki Kutools for Excel i doświadcz wydajności jak nigdy dotąd. Kutools dla programu Excel oferuje ponad 300 zaawansowanych funkcji zwiększających produktywność i oszczędzających czas.  Kliknij tutaj, aby uzyskać funkcję, której najbardziej potrzebujesz...

Opis


Karta Office wprowadza interfejs z zakładkami do pakietu Office i znacznie ułatwia pracę

  • Włącz edycję i czytanie na kartach w programach Word, Excel, PowerPoint, Publisher, Access, Visio i Project.
  • Otwieraj i twórz wiele dokumentów w nowych kartach tego samego okna, a nie w nowych oknach.
  • Zwiększa produktywność o 50% i redukuje setki kliknięć myszką każdego dnia!
Comments (0)
No ratings yet. Be the first to rate!
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations