Přejít k hlavnímu obsahu

Výukový program Excel – Odesílání e-mailů z Excelu

K odesílání e-mailů běžně používáme e-mailové klienty, jako je Outlook, Gmail atd. Mnoho lidí však ukládá data do sešitů aplikace Excel a při práci s nimi potřebuje některá data odeslat ostatním. Potřebují tedy posílat e-maily přímo z excelového sešitu, což šetří čas na obsluhu e-mailového klienta. Tento podrobný návod vám ukáže, jak odesílat e-maily z Excelu za různých podmínek.

Poznámka: Před použitím následujících metod je třeba nakonfigurovat e-mailového klienta Outlook v počítači a nastavit jej jako výchozího e-mailového klienta.

Obsah: [ Skrýt ]

(Kliknutím na libovolný nadpis v obsahu níže nebo napravo přejděte na odpovídající kapitolu.)

1. Základy odesílání emailů z Excelu

Tato část představuje základy odesílání e-mailů z aplikace Excel.

1.1 Odesílejte e-maily z aplikace Excel s vestavěnými funkcemi aplikace Excel

Pokud chcete z Excelu odesílat pouze jednoduché e-maily, které obsahují pouze pole Komu, Předmět, Kopie a Tělo. Pomoci mohou vestavěné funkce v Excelu.


1.1.1 Odeslání e-mailu z Excelu se vzorcem

Jak je uvedeno v tabulce níže, chcete-li odesílat různé e-maily z aplikace Excel na základě daných polí, můžete použít odkazy na buňky daných polí k vytvoření různých vzorců hypertextových odkazů. Po vytvoření e-mailových hypertextových odkazů můžete kliknout na hypertextový odkaz, který potřebujete k automatickému odeslání e-mailu.

Poznámka: Pokud je v polích Komu nebo Kopie více příjemců, oddělte je středníkem.

Tato část je rozdělena do čtyř částí, které vám ukáží kroky k samostatnému přidání e-mailové adresy, příjemců kopie, předmětu a hlavního textu do vzorce hypertextového odkazu. Postupujte prosím následovně.

Syntaxe a argumenty HYPERLINK funkce jsou následující.

Syntax

HYPERLINK(link_location, [friendly_name])

Argumenty

Link___cpLocation (povinné): Cesta a název souboru k dokumentu, který se má otevřít;
Tipy: V tomto tutoriálu by všechna pole, která potřebujeme pro e-mail, jako je e-mailová adresa příjemce, příjemci kopie, předmět a hlavní text, měla být uvedena v prvním argumentu „umístění_odkazu“.
Přátelské jméno (volitelné): Hodnota skoku, která je zobrazena v buňce.

1.1.1.1 Přidat e-mailovou adresu do vzorce hypertextového odkazu

Tady používáme "mailto:" jako součást vzorce pro přidání příjemce e-mailu. V tomto příkladu je e-mailová adresa prvního příjemce v buňce B2, takže musíme přidat „mailto:“ a odkazovat na buňku B2.

„mailto:“&B2

1. Vyberte buňku pro zobrazení hypertextového odkazu. V tomto případě vyberu buňku F2.

2. Poté do něj zadejte následující vzorec.

=HYPERLINK("mailto:"&B2)

Poznámka: Pokud stisknete tlačítko vstoupit vytvoří se hypertextový odkaz, jak je znázorněno na níže uvedeném snímku obrazovky. Když kliknete na odkaz, vytvoří se e-mail Outlook a e-mailová adresa příjemce se automaticky vyplní do pole Komu.

E-mailová adresa příjemce je nyní přidána do vzorce hypertextový odkaz. Pokračujte prosím následujícími kroky a přidejte předmět, příjemce (příjemce) kopie a hlavní text podle potřeby.


1.1.1.2 Přidat příjemce (příjemce) kopie do vzorce hypertextového odkazu

Chcete-li přidat příjemce (příjemce) kopie do funkce hypertextového odkazu, přidejte "?cc=" jako součást vzorce takto.

"?cc=" & C2
kde C2 obsahuje e-mailovou adresu příjemce kopie.

Vzorec v buňce F2 by měl vypadat takto:

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


1.1.1.3 Přidání předmětu do vzorce hypertextového odkazu

Chcete-li přidat předmět do funkce hypertextového odkazu, přidejte "&předmět=" jako součást vzorce takto.

"&subject="& D2
kde C2 obsahuje předmět e-mailu.

Vzorec v buňce F2 by nyní měl vypadat takto:

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


1.1.1.4 Přidání hlavního textu se zalomením řádků do vzorce hypertextového odkazu

Posledním krokem je přidání hlavního textu do vzorce Hypertextový odkaz. Jak můžete vidět na příkladu, dva řádky textu v E2 jsou odděleny zalomením řádku a vy chcete zalomení řádku ponechat v těle e-mailu. Rozpozná aplikace Outlook za těchto okolností zalomení řádku? Pojďme to zkontrolovat.

Chcete-li přidat hlavní text do vzorce hypertextový odkaz, musíte přidat „&body=“ jako součást vzorce takto.

"&body="& E2
kde E2 obsahuje hlavní text e-mailu.

Vzorec v buňce F2 se nyní zobrazí takto:

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

Poznámka: Pokud stisknete vstoupit klíč a klikněte na odkaz. V novém e-mailu můžete vidět, že obsah v těle e-mailu je zobrazen na stejném řádku.

Chcete-li zobrazit tělo e-mailu v samostatných řádcích, musíte upravit obsah buňky přidáním kódu znaku pro návrat vozíku %0A k textu, kam je potřeba vložit zalomení řádku. Viz snímek obrazovky:


1.1.1.5 Zadejte text, který se má zobrazit pro hypertextový odkaz

Ve výše uvedených krocích jsme dokončili argument umístění_odkazu s e-mailovými poli. Zde v této sekci dokončíme další argument [friendly_name].

V tomto případě chci, aby buňka hypertextového odkazu zobrazila text jako „Email na xx“, kde xx je jméno příjemce v A2. Takže vzorec v F2 by měl být změněn na:

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

Stiskněte vstoupit klíč k získání výsledku.

Vyberte tuto buňku vzorce a přetáhněte ji Rukojeť automatického vyplňování dolů k vytvoření dalších e-mailových hypertextových odkazů. Viz snímek obrazovky:


1.1.2 Odesílání e-mailů z Excelu pomocí funkce hypertextového odkazu

S výjimkou použití výše uvedeného vzorce hypertextového odkazu můžete ručně vytvořit e-mailový hypertextový odkaz pomocí Vložit Hyperlink funkce v Excelu. Tato část vám ukáže kroky.

1. Klikněte pravým tlačítkem na e-mail, kam chcete vložit hypertextový odkaz, a vyberte Odkaz z nabídky pravého tlačítka myši.

2. Ve vyskakovacím okně Vložit hypertextový odkaz dialogové okno, musíte nakonfigurovat následujícím způsobem.

2.1) Vyberte Emailová adresa v levém podokně.
2.2) V Text, který chcete zobrazit textového pole zadejte text, který chcete zobrazit v buňce;
Tipy: V tomto dialogovém okně nelze použít odkazy na buňky, takže byste měli pole e-mailu zadat ručně následujícím způsobem.
2.3) V E-mailová adresa do textového pole, musíte zadat následující e-mailové adresy.
mailto:e-mailová adresa
Nahraďte prosím text „emailová adresa“ s vaší skutečnou e-mailovou adresou. Pokud máte více než jednu e-mailovou adresu, oddělte je středníkem.
2.4) V Předmět textové pole, můžete zde zadat předmět a tělo e-mailu. Nakonfigurujte prosím následovně:
Předmět&body=Tělo e-mailu
V tomto případě zadávám Měsíční prodej&body=Ahoj,%0AEmail přijat.
> kde je předmětem Měsíční prodej;
a
> tělo e-mailu je:
Dobrý den,
E-mail přijat. (%0A je kód znaku pro návrat vozíku, který může aplikace Outlook rozpoznat)
2.5) Klikněte na OK tlačítko pro uložení hypertextového odkazu. Viz snímek obrazovky:

Po kliknutí na hypertextový odkaz se vytvoří e-mail aplikace Outlook se zadanými poli Komu, Předmět a Tělo, jak je znázorněno na obrázku níže.

Poznámky:

1) S touto metodou jste museli vytvořit e-mailové hypertextové odkazy každý ručně.
2) Touto metodou nemůžete přidat pole Kopie do e-mailů. Pokud tedy potřebujete pole Kopie, přidejte jej prosím z nového úvodního e-mailového okna.

1.2 Odesílání e-mailů více příjemcům v buňkách pomocí skriptu VBA

Ve výše uvedeném příkladu vidíte, že v buňce je zobrazeno více e-mailových adres oddělených středníky. Pokud máte seznam e-mailových adres, jak je znázorněno na níže uvedeném snímku obrazovky, a chcete všem z nich poslat e-mail nebo nezávislý e-mail, může vám pomoci následující kód VBA.


1.2.1 Odeslání e-mailu více příjemcům v buňkách pomocí skriptu VBA

1. V listu, který obsahuje všechny e-mailové adresy, na které chcete e-mail odeslat. zmáčkni Další + F11 klávesy pro otevření Microsoft Visual Basic pro aplikace okno.

2. V Microsoft Visual Basic pro aplikace okno, klepněte na tlačítko Vložit > Modul, a poté vložte následující kód do Modul (kód) okno.

Kód VBA: Odešlete e-mail na seznam e-mailových adres

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. zmáčkni F5 klíč pro spuštění kódu a a Kutools pro Excel objeví se dialogové okno. Vyberte seznam e-mailových adres a klikněte OK.

Poznámky:

1) Pokud nechcete, aby se výše uvedené dialogové okno zobrazovalo a chcete rozsah e-mailových adres zadat přímo v kódu, nahraďte prosím tento řádek:
Set xRg = Application.InputBox("Vyberte prosím seznam adres:", "Kutools pro Excel", xTxt, , , , , 8)
s
Nastavit xRg = Range("A2:A7")
2) V následujících řádcích můžete zadat vlastní předmět a tělo e-mailu:
.Předmět = "Test"
.Body = "Dear " _
        & vbNewLine & vbNewLine & _
        "This is a test email " & _
        "sending in Excel"
3) Chcete-li přímo odeslat e-mail bez otevření následujícího okna nové zprávy, musíte tento řádek nahradit:
.Zobrazit
s
.Poslat

Po spuštění kódu se v poli Komu v okně zprávy zobrazí všechny e-mailové adresy ve zvoleném rozsahu. Viz snímek obrazovky:


1.2.2 Odesílejte e-maily samostatně každému příjemci uvedenému v buňkách pomocí skriptu VBA

Výše uvedený kód přidá všechny e-mailové adresy ve vybraném rozsahu do pole Komu v okně zprávy. Pokud chcete posílat e-maily na každou e-mailovou adresu uvedenou v buňkách samostatně, aniž byste jim umožnili vidět e-mailové adresy toho druhého, můžete vyzkoušet následující skript VBA.

1. V listu, který obsahuje všechny e-mailové adresy, na které chcete e-maily odesílat. zmáčkni Další + F11 klíče k otevřete okno Microsoft Visual Basic for Applications.

2. V Microsoft Visual Basic pro aplikace okno, klepněte na tlačítko Vložit > Modula potom vložte následující kód do okna Modul (Code).

Kód VBA: Odesílejte e-maily na každou e-mailovou adresu uvedenou v buňkách samostatně

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. Pak klikněte na tlačítko Tools > Reference. v Reference - VBAProject v dialogovém okně vyhledejte a zkontrolujte Objektová knihovna Microsoft Outlook 16.0 a potom klepněte na tlačítko OK pro uložení změn.

4. zmáčkni F5 klíč pro spuštění kódu a a Kutools pro Excel objeví se dialogové okno. Vyberte seznam e-mailových adres a klikněte OK.

Poznámky:

1) Pokud nechcete, aby se výše uvedené dialogové okno zobrazovalo a chcete rozsah e-mailových adres zadat přímo v kódu, nahraďte prosím tento řádek:
Set xRg = Application.InputBox("Vyberte prosím seznam adres:", "Kutools pro Excel", xTxt, , , , , 8)
s
Nastavit xRg = Range("A2:A7")
2) V následujících řádcích můžete zadat vlastní předmět a tělo e-mailu:
.Subject = "Test"
.Body = "Dear " _
        & vbNewLine & vbNewLine & _
        "This is a test email " & _
        "sending in Excel"
3) Chcete-li přímo odeslat e-mail bez otevření následujících oken zpráv, musíte tento řádek nahradit:
.Zobrazit
s
.Poslat

V tomto příkladu je ve vybraném rozsahu šest e-mailových adres, takže se automaticky vytvoří šest oken zpráv aplikace Outlook se samostatnou e-mailovou adresou uvedenou v poli Komu, jak je znázorněno na obrázku níže.

5. Nakonec klikněte na Poslat tlačítko pro odeslání e-mailu jeden po druhém.


2. Vložte přílohy nebo podpis aplikace Outlook do e-mailů odeslaných z aplikace Excel (pomocí skriptů VBA)

Tato část vám ukáže, jak vložit přílohy nebo výchozí podpis aplikace Outlook do e-mailů odeslaných z aplikace Excel.

2.1 Vkládání příloh do e-mailů odeslaných z Excelu

Zde popisujeme různé případy vkládání příloh a způsob si můžete vybrat podle svých potřeb. V této části se můžete naučit (kliknutím na kterýkoli z následujících odkazů přejděte na odpovídající metodu):


2.1.1 Odeslat určitý soubor e-mailem jako přílohu

Následující kód VBA můžete použít k odeslání jednoho nebo více souborů ve složce e-mailem jako přílohy z aplikace Excel.

1. zmáčkni Další + F11 klíče.

2. V otvoru Microsoft Visual Basic pro aplikace okno, klepněte na tlačítko Vložit > Modul. Poté vložte následující kód VBA do okna Modul (Code).

Kód VBA: E-mailem soubory ve složce jako přílohy z aplikace Excel

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

Poznámky:

1) V řadě .To = , prosím vyměňte s vlastní e-mailovou adresou příjemce;
2) Změňte v řádku samostatně předmět e-mailu a tělo e-mailu .Subject = "test" a .HTMLBody = "test";
3) Podle potřeby můžete přidat příjemce kopie a skrytá kopie. Stačí přidat následující dva řádky pod řádek.Do = .
.CC = "e-mailová adresa"
.BCC = "e-mailová adresa"

3. Pak klikněte na tlačítko Tools > Reference. v Reference - VBAProject v dialogovém okně vyhledejte a zkontrolujte Objektová knihovna Microsoft Outlook 16.0 a potom klepněte na tlačítko OK pro uložení změn.

4. zmáčkni F5 klíč ke spuštění kódu, pak a Procházet se objeví okno, vyberte prosím soubory, které potřebujete k e-mailu připojit, a poté klikněte OK.

Poté se objeví okno se zprávou. Vybrané soubory se zobrazují jako přílohy v poli Připojeno.


2.1.2 Odeslat aktuální list e-mailem jako přílohu

Pokud chcete aktuální list odeslat e-mailem jako přílohu z aplikace Excel, můžete použít skript VBA v této části.

1. zmáčkni Další + F11 klíče.

2. V otvoru Microsoft Visual Basic pro aplikace okno, klepněte na tlačítko INSERT > Modul. Poté vložte následující kód VBA do Modul (kód) okno.

Kód VBA: Odeslat aktuální list e-mailem jako přílohu

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

Poznámky:

1) V řádku .Do = , prosím vyměňte s e-mailovou adresou skutečného příjemce. Pokud potřebujete více než jednu e-mailovou adresu, oddělte je středníkem.
2) Změňte v řádku samostatně předmět e-mailu a tělo e-mailu .Subject = "kte funkce" a .Body = " Prosím zkontrolujte a přečtěte si tento dokument.";
3) Na následujících dvou řádcích:
.CC = "e-mailová adresa"
.BCC = "e-mailová adresa"
Pokud chcete přidat příjemce kopie a kopie, nahraďte text „emailová adresa“ v řádcích s e-mailovými adresami, které potřebujete.
Pokud nepotřebujete příjemce kopie a kopie, stačí přidat apostrof ' před každým řádkem.

3. zmáčkni F5 pro spuštění kódu, pak se aktuální list uloží jako sešit aplikace Excel a automaticky se vloží do okna zprávy jako příloha. Viz snímek obrazovky:

Poznámka: Přiložený sešit, který obsahuje pouze aktuální list, má stejný název jako původní sešit. A čas, kdy kód spustíte, se přidá také do názvu sešitu.


2.1.3 Odeslat aktuální sešit e-mailem jako přílohu

Poté, co se naučíte kód VBA pro odesílání aktuálního listu e-mailem jako přílohu z aplikace Excel, zde nabízíme další skript VBA, který vám pomůže odeslat celý sešit e-mailem jako přílohu. Postupujte prosím následovně.

1. zmáčkni Další + F11 klíče.

2. V otvoru Microsoft Visual Basic pro aplikace okno, klepněte na tlačítko Vložit > Modul. Poté vložte následující kód VBA do okna Modul (Code).

Kód VBA: E-mailem aktuální sešit jako příloha z Excelu

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

Poznámky:

1) V řadě .To = , prosím vyměňte s e-mailovou adresou skutečného příjemce. Pokud potřebujete více než jednu e-mailovou adresu, oddělte je středníkem.
2) Změňte v řádku samostatně předmět e-mailu a tělo e-mailu .Subject = "kte funkce" a .Body = " Prosím zkontrolujte a přečtěte si tento dokument.";
3) Na následujících dvou řádcích:
.CC = "e-mailová adresa"
.BCC = "e-mailová adresa"
Pokud chcete přidat příjemce kopie a kopie, nahraďte text „emailová adresa“ v řádcích s e-mailovými adresami, které potřebujete.
Pokud nepotřebujete příjemce kopie a kopie, stačí přidat apostrof ' před každým řádkem.

3. zmáčkni F5 pro spuštění kódu, pak se aktuální sešit automaticky vloží do okna zprávy jako příloha. Viz snímek obrazovky:


2.1.4 Odeslat celý sešit e-mailem jako přílohu PDF

Většina lidí má tendenci uložit sešit aplikace Excel jako soubor PDF a poté jej poslat jako přílohu ostatním. V této části vám ukážu způsob, jak odesílat e-maily přímo z Excelu s aktuálně otevřeným sešitem jako přílohu PDF, aniž byste museli sešit ručně ukládat jako soubor PDF.

1. zmáčkni Další + F11 klíče.

2. V otvoru Microsoft Visual Basic pro aplikace okno, klepněte na tlačítko Vložit > Modul. Poté vložte následující kód VBA do okna Modul (Code).

Kód VBA: E-mailem celý sešit jako příloha 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

Poznámky:

1) V řadě .To = , prosím vyměňte s e-mailovou adresou skutečného příjemce. Pokud potřebujete více než jednu e-mailovou adresu, oddělte je středníkem.
2) Změňte v řádku samostatně předmět e-mailu a tělo e-mailu .Subject = "test" a .Body = "test";
3) Na následujících dvou řádcích:
.CC = "E-mailová adresa"
.BCC = "E-mailová adresa"
Pokud chcete přidat příjemce kopie a kopie, nahraďte text „Emailová adresa“ v řádcích s e-mailovými adresami, které potřebujete.
Pokud nepotřebujete příjemce kopie a kopie, stačí přidat apostrof ' před každým řádkem.
4) Název souboru PDF bude stejný jako název původního sešitu. A čas, kdy kód spustíte, bude také přidán do názvu sešitu. Pokud nepotřebujete přidat časové razítko k názvu souboru, odstraňte jej & Format(Nyní, "dd-mmm-yy h-mm-ss") z následujícího řádku.
FileName = Left(Wb.Name, (InStrRev(Wb.Name, ".", -1, vbTextCompare) - 1)) & Format(Now, "dd-mmm-yy h-mm-ss") & ".pdf "

3. zmáčkni F5 klíč ke spuštění kódu. Poté se aktuální sešit automaticky vloží do nového okna zprávy jako příloha souboru PDF. Viz snímek obrazovky:


2.1.5 Odeslat aktuální pracovní list e-mailem jako přílohu PDF

Existuje například sešit s názvem „Měsíční prodej“ a vy jste dokončili tabulku sestavy prodeje v listu s názvem „Zpráva o prodeji“ a chcete tento list odeslat jako soubor PDF svým kolegům. Následující kód VBA vám může pomoci.

1. zmáčkni Další + F11 klíče.

2. V otvoru Microsoft Visual Basic pro aplikace okno, klepněte na tlačítko INSERT > Modul. Poté vložte následující kód VBA do okna Modul (Code).

Kód VBA: Odešlete aktuální list e-mailem jako přílohu 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

Poznámky:

1) V řadě .To = , prosím vyměňte s e-mailovou adresou skutečného příjemce. Pokud potřebujete více než jednu e-mailovou adresu, oddělte je středníkem.
2) Změňte v řádku samostatně předmět e-mailu a tělo e-mailu .Subject = "test" a .Body = "test";
3) Na následujících dvou řádcích:
.CC = "E-mailová adresa"
.BCC = "E-mailová adresa"
Pokud chcete přidat příjemce kopie a kopie, nahraďte text „Emailová adresa“ v řádcích s e-mailovými adresami, které potřebujete.
Pokud nepotřebujete příjemce kopie a kopie, stačí přidat apostrof ' před každým řádkem.
4) Název souboru PDF bude: název původního sešitu_název původního listu. V tomto případě bude název PDF znít Měsíční sestava prodej_prodej.

3. zmáčkni F5 klíč ke spuštění kódu. Poté se aktuální list automaticky vloží do nového okna zprávy jako příloha souboru PDF. Viz snímek obrazovky:


2.2 Vložení podpisu aplikace Outlook do e-mailů odeslaných z aplikace Excel

Vezměte si výše uvedený případ jako příklad, použijete výše uvedený kód VBA k odeslání aktuálního listu jako přílohy souboru PDF z aplikace Excel, ale do okna zprávy nelze přidat podpis aplikace Outlook. Chcete-li zachovat výchozí podpis aplikace Outlook v e-mailu odeslaném z aplikace Excel, pomůže následující metoda.

Níže jsou uvedeny dva kódy VBA.

Kód VBA 1: Kód pomáhá zachovat podpis aplikace Outlook.

Kód VBA 2: Kód pomáhá odeslat aktuální list e-mailem jako přílohu PDF.

Kód VBA 1: Zachovejte podpis aplikace Outlook

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

Kód VBA 2: Odešlete aktuální list e-mailem jako přílohu 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. Normálně musíte stisknout tlačítko Další + F11 klávesy pro otevření Microsoft Visual Basic pro aplikace okno.

2. V Microsoft Visual Basic pro aplikace okno, klepněte na tlačítko Vložit > Modul. Poté vložte výše uvedený kód VBA 2 do okna Modul (Code).

3. Chcete-li zachovat výchozí podpis aplikace Outlook v e-mailu odeslaném z aplikace Excel, musíte upravit kód VBA 2 následovně:

1) Vyměňte .Tělo linka s Kód VBA 1;
2) Posuňte čáru .Zobrazit pod čarou S OutlookMail (nebo s xMailOut v jiných kódech). Viz snímek obrazovky:

Zde je kompletní kód po úpravě.

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. zmáčkni F5 klíč ke spuštění kódu. Poté získáte nové okno zprávy s aktuálním listem připojeným jako soubor PDF, přičemž výchozí podpis aplikace Outlook bude automaticky vložen na konec těla e-mailu.


3. Automaticky odesílat e-maily z Excelu, když je splněna podmínka (pomocí skriptů VBA)

Ve výše uvedených příkladech musíte kód spustit ručně, abyste dosáhli doručení e-mailu. Pokud chcete, aby se kód automaticky spustil, když je splněna určitá podmínka, například když buňka dosáhne určité hodnoty, když se změní hodnota buňky, když dosáhne datum atd., e-mail bude odeslán automaticky. V této části jsou uvedeny podmínky, které uživatelé Excelu často vyhledávali na Googlu, aby vám pomohli automaticky odesílat e-maily z Excelu, když je splněna určitá podmínka.

3.1 Automaticky odeslat e-mail, když buňka dosáhne určité hodnoty

Jak je znázorněno na obrázku níže, předpokládejme, že máte tabulku prodeje s buňkou D6 obsahující celkový objem prodeje. Chcete automaticky odeslat e-mail svému šéfovi na základě celkového objemu prodeje, například vytvořit nebo odeslat e-mail automaticky, když součet prodejů překročí 10000 10000, ale pokud je součet prodejů roven nebo menší než XNUMX XNUMX, neprovede se žádná akce.

1. V listu obsahujícím prodejní tabulku klikněte pravým tlačítkem na záložku listu a klikněte Zobrazit kód z nabídky pravého tlačítka myši.

2. V otvoru Microsoft Visual Basic pro aplikace okno, vložte následující kód VBA do List (kód) okno.

Kód VBA: Automaticky odeslat e-mail, když buňka dosáhne určité hodnoty v Excelu

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

Poznámky:

1) D6 je buňka, na základě které budete e-mail odesílat.
2) > 10000 je podmínka, což znamená, že e-mail bude odeslán, když je hodnota v D6 větší než 10000 XNUMX.
3) Rozsah („D6“) v následujícím řádku znamená, že tělo e-mailu bude odkazovat na hodnotu v D6.
xMailBody = "Hi boss" & vbNewLine & vbNewLine & _
"Total sales of over $10,000 in January: " & Range("D6")
4) V řadě .To = , prosím vyměňte s e-mailovou adresou skutečného příjemce. Pokud potřebujete více než jednu e-mailovou adresu, oddělte je středníkem.
5) Změňte předmět e-mailu v řádku .Subject = "test".
6) Na následujících dvou řádcích:
.CC = "E-mailová adresa"
.BCC = "E-mailová adresa"
Pokud chcete přidat příjemce kopie a kopie, nahraďte text „Emailová adresa“ v řádcích s e-mailovými adresami, které potřebujete.
Pokud nepotřebujete příjemce kopie a kopie, stačí přidat apostrof ' před každým řádkem.

Od této chvíle, když hodnota v buňce D6 překročí 10000 XNUMX, bude vytvořen e-mail, jak je znázorněno na obrázku níže.


3.2 Automaticky odeslat e-mail, když se změní hodnota buňky

Jak je znázorněno na obrázku níže, předpokládejme, že obdržíte sešit, který obsahuje měsíční prodeje v různých listech a celkový objem prodeje v listu. Musíte ověřit součet prodejů a pokud se součet prodejů změní, odešlete sešit zpět odesílateli a informujte odesílatele, že buňka byla změněna.

1. V listu obsahujícím prodejní tabulku klikněte pravým tlačítkem na záložku listu a klikněte Zobrazit kód z nabídky pravého tlačítka myši.

2. V otvoru Microsoft Visual Basic pro aplikace v okně Sheet (Code) vložte následující kód VBA.

Kód VBA: Automaticky odeslat e-mail, když se změní zadaná hodnota buňky

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

Poznámky: V kódu,

1) B14 v kódu znamená, že když se změní hodnota buňky B14, pošlete email.
2) V řadě .To = , prosím vyměňte s e-mailovou adresou skutečného příjemce. Pokud potřebujete více než jednu e-mailovou adresu, oddělte je středníkem.
3) Změňte předmět e-mailu v řádku .Subject = "Pracovní list upraven".
4) Na následujících dvou řádcích:
.CC = "E-mailová adresa"
.BCC = "E-mailová adresa"
Pokud chcete přidat příjemce kopie a kopie, nahraďte text „Emailová adresa“ v řádcích s e-mailovými adresami, které potřebujete.
Pokud nepotřebujete příjemce kopie a kopie, stačí přidat apostrof ' před každým řádkem.

Od této chvíle se při změně hodnoty v buňce B14 automaticky vytvoří zpráva aplikace Outlook, jak je znázorněno na obrázku níže.


3.3 Automaticky odeslat e-mail při uložení sešitu

Pokud máte sešit, který je třeba po úpravě sdílet s ostatními, obvykle je potřeba sešit uložit, spustit e-mailového klienta, vytvořit nový e-mail s tímto sešitem připojeným, vytvořit odpovídající pole a odeslat e-mail. Tato část vám ukáže způsob, jak vytvořit e-mail automaticky pokaždé, když uložíte sešit. Postupujte prosím následovně.

1. zmáčkni Další + F11 klávesy pro otevření Microsoft Visual Basic pro aplikace okno.

2. V tomto okně dvakrát klikněte Tato pracovní kniha v Projekt podokně a vložte následující kód VBA do Tento sešit (kód) okno.

Kód VBA: Automaticky odeslat e-mail při uložení sešitu

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

Poznámky: V kódu,

1) V řadě .To = , prosím vyměňte s e-mailovou adresou skutečného příjemce. Pokud potřebujete více než jednu e-mailovou adresu, oddělte je středníkem.
2) Změňte předmět a tělo e-mailu samostatně v řádcích .Subject = "Sešit byl aktualizován" a .Body = "Ahoj," & Chr(13) & Chr(13) & "Soubor je nyní aktualizován.".
3) Na následujících dvou řádcích:
.CC = "E-mailová adresa"
.BCC = "E-mailová adresa"
Pokud chcete přidat příjemce kopie a kopie, nahraďte text „Emailová adresa“ v řádcích s e-mailovými adresami, které potřebujete.
Pokud nepotřebujete příjemce kopie a kopie, stačí přidat apostrof ' před každým řádkem.

3. Od této chvíle při ukládání sešitu stisknutím tlačítka Ctrl + S kláves nebo kliknutím na Uložit tlačítko, automaticky se vytvoří e-mail aplikace Outlook. Můžete vidět, že aktuální sešit je připojen jako příloha a pole jsou vyplněna zadaným obsahem. Viz snímek obrazovky:

Tipy: Pokud tento sešit často používáte, zde doporučujeme uložit sešit jako soubor Sešit se zvýšeným makra Excel uložit skript VBA pro budoucí použití. Postup je následující.

1) Klepněte na tlačítko Soubor > Uložit jakoa poté vyberte složku, do které chcete soubor uložit.
2) V Uložit jako dialogovém okně přejmenujte soubor, jak potřebujete v Název souboru textové pole, vyberte Sešit se zvýšeným makra Excel v Uložit jako typ rozevírací seznam a nakonec klikněte na Uložit knoflík. Viz screenshot:


3.4 Automaticky odeslat e-mail v určitý čas

Řekněme, že potřebujete někomu poslat e-mail se sešitem zadání úkolu každý pátek ráno v 9 hodina chcete to udělat automaticky v Excelu, aniž byste museli ručně obsluhovat e-mailového klienta. Tato část vám ukáže způsob, jak toho dosáhnout.

1. zmáčkni Další + F11 klávesy pro otevření Microsoft Visual Basic pro aplikace okno.

2. V Microsoft Visual Basic pro aplikace okno, klepněte na tlačítko Vložit > Modul. Poté vložte následující kód VBA do okna modulu.

Kód VBA1 : Odešlete aktuální sešit e-mailem jako přílohu z aplikace 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. V tomto okně dvakrát klikněte Tato pracovní kniha v Projekt podokně a vložte následující kód VBA do Tento sešit (kód) okno.

Kód VBA 2: Automaticky odeslat e-mail v určitý čas

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

Poznámky:

1) V kódu VBA 1, Pátek - Sobota v následujícím řádku znamená, že e-mail bude automaticky odeslán každý pátek;
If Weekday(Date) = vbPátek Then
2) V kódu VBA 1 a kódu VBA 2, čas 09:00:00 znamená, že e-mail bude odeslán v 9:XNUMX v určitý den.
Den a čas můžete změnit, jak potřebujete.
3) Po spuštění kódu bude vytvořen e-mail. Pokud nechcete vyskakovací okno zprávy a potřebujete ji odeslat přímo, odstraňte řádek .Zobrazit z kódu VBA 1 a odeberte apostrof před čárou '.Poslat.

4. Uložte kódy a poté uložte sešit jako sešit Excel s podporou maker následovně.

4.1) Klepněte na tlačítko Soubor > Uložit jakoa poté vyberte složku, do které chcete soubor uložit.
4.2) V Uložit jako dialogovém okně přejmenujte soubor, jak potřebujete v Název souboru textové pole, vyberte Sešit se zvýšeným makra Excel v Uložit jako typ rozevírací seznam a nakonec klikněte na Uložit knoflík. Viz screenshot:

5. Otevřete svůj uložený sešit s podporou maker a poté bude vytvořen nebo automaticky odeslán e-mail, jakmile nastane den a čas.


4. Další témata

Tato část shromažďuje další témata, se kterými se můžete setkat při odesílání e-mailů z aplikace Excel.

4.1 E-mail s řadou buněk z Excelu (se skriptem VBA)

Předpokládejme, že v listu aplikace Excel je tabulka měsíčního prodeje, jak je znázorněno na snímku obrazovky níže, a musíte tuto tabulku měsíčního prodeje odeslat ostatním jako obsah těla e-mailu nebo přímo jako přílohu. Zde vám nabízíme dva způsoby, jak toho dosáhnout.

4.1.1 E-mailem rozsah jako součást obsahu těla z Excelu

Můžete spustit následující kód VBA a odeslat rozsah buněk jako součást obsahu těla e-mailu z Excelu

1. zmáčkni Další + F11 klávesy pro otevření Microsoft Visual Basic pro aplikace okno.

2. V Microsoft Visual Basic pro aplikace okno, klepněte na tlačítko Tools > Reference. A pak zkontrolujte Objektová knihovna Microsoft Outlook 16.0 a klepněte na tlačítko OK v Reference - VBAProject dialogové okno.

3. cvaknutí Vložit > Modula poté vložte následující kód VBA do Modul (kód) okno.

Kód VBA: Odešle rozsah buněk jako součást obsahu těla e-mailu z aplikace 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

Poznámky: V kódu,

1) V řadě .To = , prosím vyměňte s e-mailovou adresou skutečného příjemce. Pokud potřebujete více než jednu e-mailovou adresu, oddělte je středníkem.
2) Na následujících dvou řádcích:
.CC = "E-mailová adresa"
.BCC = "E-mailová adresa"
Pokud chcete přidat příjemce kopie a kopie, nahraďte text „Emailová adresa“ v řádcích s e-mailovými adresami, které potřebujete.
Pokud nepotřebujete příjemce kopie a kopie, stačí přidat apostrof ' před každým řádkem.

4. zmáčkni F5 klíč ke spuštění kódu. Ve vyskakovaném Kutools pro Excel dialogovém okně vyberte rozsah buněk, které chcete odeslat jako součást obsahu těla e-mailu, a poté klepněte OK. Viz snímek obrazovky:

Poté se automaticky vytvoří e-mail aplikace Outlook. Můžete vidět, že rozsah, který jste vybrali v listu, je vložen do těla e-mailu. Viz snímek obrazovky:


4.1.2 E-mailem rozsah jako příloha z Excelu

Pokud potřebujete odeslat e-mailem rozsah buněk v listu jako přílohu z Excelu. Můžete vyzkoušet následující kód VBA.

1. zmáčkni Další + F11 klíče.

2. V otvoru Microsoft Visual Basic pro aplikace okno, klepněte na tlačítko Vložit > Modul. Poté vložte následující kód VBA do Modul (kód) okno.

Kód VBA: E-mailem rozsah jako příloha z Excelu

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

Poznámky:

1) V řadě .To = , prosím vyměňte s e-mailovou adresou skutečného příjemce. Pokud potřebujete více než jednu e-mailovou adresu, oddělte je středníkem.
2) Změňte v řádku samostatně předmět e-mailu a tělo e-mailu .Subject = "Měsíční prodeje za rok 2021" a .Body = "Dobrý den, prosím zkontrolujte a přečtěte si tento dokument.";
3) Na následujících dvou řádcích:
.CC = "e-mailová adresa"
.BCC = "e-mailová adresa"
Pokud chcete přidat příjemce kopie a kopie, nahraďte text „emailová adresa“ v řádcích s e-mailovými adresami, které potřebujete.
Pokud nepotřebujete příjemce kopie a kopie, stačí přidat apostrof ' před každým řádkem.

3. zmáčkni F5 klíč ke spuštění kódu. Ve vyskakovaném Kutools pro Excel V dialogovém okně vyberte rozsah buněk, které chcete odeslat jako přílohu v e-mailu, a klepněte na OK. Viz snímek obrazovky:

Poté se automaticky vytvoří e-mail aplikace Outlook. Rozsah buněk, které jste vybrali v listu, se uloží jako sešit aplikace Excel a připojí se v okně Zpráva. Viz snímek obrazovky:


4.2 Odesílání e-mailů po kliknutí na tlačítko v aplikaci Excel

Pokud potřebujete klepnout na příkazové tlačítko ke spuštění makra pro odeslání e-mailu z Excelu, například odešlete aktuální sešit jako přílohu ostatním kliknutím na příkazové tlačítko v listu. Chcete-li to provést, postupujte podle následujících kroků.

1. cvaknutí Vývojka > Vložit > Příkazové tlačítko (ovládání ActiveX). Potom nakreslete příkazové tlačítko v listu.

Tipy: Pokud již máte příkazové tlačítko, tento krok přeskočte.

2. zmáčkni Další + F11 klávesy pro otevření Microsoft Visual Basic pro aplikace okno. V okně klikněte na Vložit > Režima poté vložte kód VBA (kód používaný k odeslání aktuálního sešitu e-mailem jako přílohu z Excelu) do okna Modul (Kód).

Kliknutím sem získáte kód.

Poznámka: Zde je název makra, které jste vytvořili v kroku 2 OdeslatSešit.

3. zmáčkni Další + Q klávesy pro zavření Microsoft Visual Basic pro aplikace okno.

4. Nyní je potřeba přiřadit makro příkazovému tlačítku. Klepněte pravým tlačítkem myši na příkazové tlačítko, vyberte Zobrazit kód z nabídky pravým tlačítkem myši.

5. Potom Microsoft Visual Basic pro aplikace se objeví okno, můžete vidět následující dva řádky List (kód) okno.

Private Sub CommandButton1_Click()
End Sub

6. Do dílčího postupu pro příkazové tlačítko zadejte název existujícího makra.

7. zmáčkni Další + Q klávesy pro zavření Editor jazyka Visual Basic, a klepněte na tlačítko Vývojka > Režim návrhu pro vypnutí režimu návrhu.

Nyní můžete kliknout na příkazové tlačítko a odeslat e-mail s aktuálním sešitem jako přílohu e-mailu.


4.3 Odesílání e-mailů ze zadaného e-mailového účtu

Obvykle je při spouštění e-mailu z Excelu s kódem VBA výchozím účtem v Outlooku e-mailový účet odesílatele. Předpokládejme, že jste v aplikaci Outlook nakonfigurovali několik e-mailových účtů a chcete místo výchozího účtu používat k odesílání e-mailů z aplikace Excel určitý účet. Pomoci může následující kód VBA.

V tomto případě jsou nutné následující kódy.

VBA kód 1:

Dim OutlookMail As Outlook.MailItem

VBA kód 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 použít výše uvedený kód VBA?

1) Ve svém vlastním kódu musíte nahradit řádek jako „Ztlumit OutlookMail jako objekt” s kódem VBA 1;
2) Přidejte kód VBA 2 pod řádek „On Error Resume Next“ ve vašem kódu. Poté zadejte e-mailovou adresu, kterou budete používat k odeslání e-mailu v kódu VBA 2.

V tomto příkladu určíme určitý e-mailový účet pro odeslání aktuálního sešitu jako přílohy z aplikace Excel. Postupujte prosím následovně.

1. zmáčkni Další + F11 klíče. V Microsoft Visual Basic pro aplikace okno, klepněte na tlačítko Tools > Reference. A pak zkontrolujte Objektová knihovna Microsoft Outlook 16.0 a klepněte na tlačítko OK v Reference - VBAProject dialogové okno.

2. cvaknutí Vložit > Modul. Poté vložte následující kód VBA do Modul (kód) okno.

Kód VBA: Odešle aktuální sešit jako přílohu e-mailu z Excelu prostřednictvím zadaného účtu 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. zmáčkni F5 klíč ke spuštění kódu. Poté se objeví e-mailová zpráva aplikace Outlook, můžete vidět, že od pole je vyplněno e-mailovým účtem, který jste zadali v kódu.


4.4 Odešlete e-mail po dosažení data

Pokud potřebujete odeslat e-mail na základě konkrétního data splatnosti, například, jak je znázorněno na obrázku níže, existuje tabulka projektu, když se datum splatnosti v rozsahu E2:E7 rovná nebo je kratší než 7 dní ode dneška (za předpokladu, že aktuální datum je 2022. 8. 4), bude příslušným vedoucím projektu automaticky zaslán e-mail s upozorněním, že platnost projektu brzy skončí.

1. V listu obsahujícím tabulku projektu klepněte pravým tlačítkem na záložku listu a klepněte na Zobrazit kód z nabídky pravého tlačítka myši.

2. V otvoru Microsoft Visual Basic pro aplikace okno, vložte následující kód VBA do List (kód) okno.

Kód VBA: Automaticky odeslat e-mail, když je splněno datum splatnosti

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

Poznámky: V kódu,

1) V následujících řádcích E2: E7 obsahuje termíny, na základě kterých budete posílat e-maily. C2: C7 obsahuje e-mailové adresy, na které budete posílat e-maily. A D2: D7 obsahuje poznámky, které přidáte do těla e-mailu, abyste upozornili příjemce, že platnost projektu brzy skončí. Rozsahy můžete měnit, jak potřebujete.
Nastavit xRgDate = Range("E2:E7")
Nastavit xRgSend = Range("C2:C7")
Nastavit xRgText = Range("D2:D7")
2) Následující řádek znamená, že datum splatnosti musí být delší než 1 den a rovna nebo kratší než 7 dní ode dneška. Můžete to změnit, jak potřebujete.
If CDate(xRgDateVal) - Date <= 7 And CDate(xRgDateVal) - Date > 0 Then
3) V řadě .To = , prosím vyměňte s e-mailovou adresou skutečného příjemce. Pokud potřebujete více než jednu e-mailovou adresu, oddělte je středníkem.
4) Změňte předmět e-mailu v řádku .Subject = "Pracovní list upraven".
5) Na následujících dvou řádcích:
.CC = "E-mailová adresa"
.BCC = "E-mailová adresa"
Pokud chcete přidat příjemce kopie a kopie, nahraďte text „Emailová adresa“ v řádcích s e-mailovými adresami, které potřebujete.
Pokud nepotřebujete příjemce kopie a kopie, stačí přidat apostrof ' před každým řádkem.

3. zmáčkni F5 klíč ke spuštění kódu. Poté, pokud datum vypršení platnosti odpovídá podmínkám, bude vytvořen odpovídající e-mail. V tomto případě budou vytvořeny dva e-maily, jak je znázorněno na obrázku níže.


5. Praktický nástroj, který vám pomůže snadno odesílat e-maily z Excelu

Pokud jste nováček VBA, výše uvedené metody pro vás nemusí být snadné zvládnout. Zde doporučujeme Kutools pro ExcelJe Odeslat e-maily Pomocí této funkce můžete snadno odesílat e-maily z aplikace Excel pouze několika kliknutími. Postupujte prosím následovně.

Před aplikací Kutools pro Excel, Prosím nejprve si jej stáhněte a nainstalujte.

5.1 Snadno vytvořte seznam adresátů, který obsahuje e-mailová pole, která potřebujete

Před použitím funkce Odeslat e-maily musíte vytvořit seznam adresátů, který bude obsahovat e-mailová pole, která potřebujete. Zde může pomoci funkce Vytvořit seznam adresátů.

1. cvaknutí Kutools Plus > Vytvořte seznam adresátů.

2. V otvoru Vytvořte seznam adresátů okno, musíte nakonfigurovat následovně.

2.1) V Sloupce pro seznam adresátů sekce, zaškrtněte pole, která potřebujete ve svém e-mailu;
2.2) V Připojit soubory sekce, zaškrtněte jednu nebo více příloh, které můžete potřebovat;
2.3) Specifikujte umístění, kam se má konference umístit;
2.4) Klikněte na Vytvořit knoflík. Viz screenshot:

Poté se vytvoří vzorová tabulka mailing listu, jak je znázorněno na obrázku níže.

3. Nyní musíte nahradit původní data ve vzorku svými vlastními daty z pole.

Nyní jste vytvořili tabulku konference. Pokračujte prosím uplatněním Odeslat e-maily funkce pro odesílání e-mailů z Excelu na základě vámi vytvořených polí.

  Pokud chcete mít bezplatnou (30denní) zkušební verzi tohoto nástroje, kliknutím jej stáhněte, a poté přejděte k použití operace podle výše uvedených kroků.


5.2 Snadno posílejte e-maily včetně polí, která jste vytvořili v seznamu adresátů

Po vytvoření seznamu adresátů (kliknutím zjistíte jak), která obsahuje pole, která můžete ve svých e-mailech potřebovat, můžete nyní odesílat e-maily z aplikace Excel s těmito poli.

1. Vyberte celý seznam adresátů, klikněte Kutools Plus > Odeslat e-maily.

2. V Odeslat e-maily dialogovém okně proveďte následující konfiguraci.

2.1) Pole se do dialogového okna každého pole vyplní automaticky podle polí, která jste zadali v seznamu adresátů;
Tipy: Pokud v tuto chvíli určité pole nepotřebujete, vyberte v rozevíracím seznamu prázdnou možnost.
2.2) Vložte zástupný symbol (volitelné): Pokud potřebujete vložit proměnné informace do těla e-mailu.
Možná budete muset například odeslat e-mail více příjemcům s personalizovaným jménem pro každého z nich, musíte umístit kurzor do těla e-mailu, kam potřebujete vložit zástupný symbol, vyberte pole „E: Křestní jméno“ (nebo jiné pole jména ve vašem seznamu e-mailů) a poté klikněte na Vložit Zástupný tlačítko;
Když příjemci obdrží e-mail, tělo e-mailu zůstane stejné, ale jména jsou pro každého jedinečná.
2.3) Vytvořte si tělo e-mailu, jak potřebujete;
2.4) Ujistěte se, že Odesílejte e-maily prostřednictvím aplikace Outlook políčko je zaškrtnuto;
2.5) Klikněte na Poslat knoflík. Viz screenshot:

3. Pak a Kutools pro Excel Zobrazí se dialogové okno, které vám řekne, kolik e-mailů bylo odesláno, klikněte na OK zavřete toto dialogové okno.

Tipy: Můžete jít do Odeslané položky složky v aplikaci Outlook, abyste mohli zkontrolovat odeslané e-maily.


5.3 Snadno posílejte e-maily s tělem HTML (včetně hypertextového odkazu, obrázku atd.)

Tato funkce Odeslat e-maily vám umožňuje vytvořit e-mail ve formátu HTML, který obsahuje hypertextový odkaz, obrázek, různé velikosti písma a barvy písma atd.

Po vytvoření seznamu adresátů, který obsahuje e-mailová pole, která potřebujete,

Když nakonfigurujte dialogové okno Odeslat e-maily, můžete obsah těla zbohatnout pomocí možností na panelu nástrojů.

Podívejte se na snímek obrazovky níže:


5.4 Snadné vložení výchozího podpisu aplikace Outlook při odesílání e-mailů

Ve výše uvedené metodě jsme předvedli kód VBA, který vám pomůže odesílat e-maily s výchozím podpisem aplikace Outlook. Zde s funkcí Odeslat e-maily stačí zaškrtnout možnost a do e-mailů odeslaných z aplikace Excel se vloží výchozí podpis aplikace Outlook.

Po vytvoření seznamu adresátů, který obsahuje e-mailová pole, která potřebujete,

Kdy nakonfigurujte dialogové okno Odeslat e-maily, musíte kliknout možnosti > Použijte nastavení podpisu Outlooku.

Poznámka: Ujistěte se, že je před možností Použít nastavení podpisu aplikace Outlook zobrazena značka zaškrtnutí.

Když příjemci obdrží e-mail, uvidí na konci těla e-mailu zobrazený výchozí podpis aplikace Outlook.


5.5 Snadné odesílání e-mailů ze zadaného e-mailového účtu

Chcete-li k odesílání e-mailů z Excelu místo výchozího účtu použít určitý e-mailový účet, může vám to také pomoci funkce Odeslat e-maily.

Po vytvoření seznamu adresátů, který obsahuje e-mailová pole, která potřebujete,

Kdy nakonfigurujte dialogové okno Odeslat e-maily, musíte kliknout možnosti > Odesláno za poté klikněte na e-mailový účet, ze kterého chcete odesílat e-maily.

Poznámka: Po výběru e-mailového účtu se před ním zobrazí značka zaškrtnutí.

klikněte zde Chcete-li se dozvědět více o této funkci Odesílání e-mailů.

  Pokud chcete mít bezplatnou (30denní) zkušební verzi tohoto nástroje, kliknutím jej stáhněte, a poté přejděte k použití operace podle výše uvedených kroků.

Závěrem lze říci, že odesílání e-mailů z Excelu je v naší každodenní práci docela užitečné. Tento článek se zabývá obsáhlejšími tématy odesílání e-mailů z aplikace Excel, pokud existují další témata nebo jednodušší řešení, zanechte mi prosím komentář.

Nejlepší nástroje pro produktivitu v kanceláři

🤖 Kutools AI asistent: Revoluční analýza dat založená na: Inteligentní provedení   |  Generovat kód  |  Vytvořte vlastní vzorce  |  Analyzujte data a generujte grafy  |  Vyvolejte funkce Kutools...
Populární funkce: Najít, zvýraznit nebo identifikovat duplikáty   |  Odstranit prázdné řádky   |  Kombinujte sloupce nebo buňky bez ztráty dat   |   Kolo bez vzorce ...
Super vyhledávání: Více kritérií VLookup    VLookup s více hodnotami  |   VLookup na více listech   |   Fuzzy vyhledávání ....
Pokročilý rozevírací seznam: Rychle vytvořte rozevírací seznam   |  Závislý rozbalovací seznam   |  Vícenásobný výběr rozevíracího seznamu ....
Správce sloupců: Přidejte konkrétní počet sloupců  |  Přesunout sloupce  |  Přepnout stav viditelnosti skrytých sloupců  |  Porovnejte rozsahy a sloupce ...
Doporučené funkce: Zaměření mřížky   |  Návrhové zobrazení   |   Velký Formula Bar    Správce sešitů a listů   |  Knihovna zdrojů (Automatický text)   |  Výběr data   |  Zkombinujte pracovní listy   |  Šifrovat/dešifrovat buňky    Odesílat e-maily podle seznamu   |  Super filtr   |   Speciální filtr (filtr tučné/kurzíva/přeškrtnuté...) ...
Top 15 sad nástrojů12 Text Tools (doplnit text, Odebrat znaky, ...)   |   50+ Graf Typ nemovitosti (Ganttův diagram, ...)   |   40+ Praktické Vzorce (Vypočítejte věk na základě narozenin, ...)   |   19 Vložení Tools (Vložte QR kód, Vložit obrázek z cesty, ...)   |   12 Konverze Tools (Čísla na slova, Přepočet měny, ...)   |   7 Sloučit a rozdělit Tools (Pokročilé kombinování řádků, Rozdělit buňky, ...)   |   ... a více

Rozšiřte své dovednosti Excel pomocí Kutools pro Excel a zažijte efektivitu jako nikdy předtím. Kutools for Excel nabízí více než 300 pokročilých funkcí pro zvýšení produktivity a úsporu času.  Kliknutím sem získáte funkci, kterou nejvíce potřebujete...

Popis


Office Tab přináší do Office rozhraní s kartami a usnadňuje vám práci

  • Povolte úpravy a čtení na kartách ve Wordu, Excelu, PowerPointu, Publisher, Access, Visio a Project.
  • Otevřete a vytvořte více dokumentů na nových kartách ve stejném okně, nikoli v nových oknech.
  • Zvyšuje vaši produktivitu o 50%a snižuje stovky kliknutí myší každý den!
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