Bohužel musím Tě zklamat makro používám výhradně na verzi 2007 na 2010 jsem netestoval (mám je na stolním PC, kde s tímto makrem nepracuji). Verzi 2013 nemám vůbec k dispozici.
Zde kód který mi funguje:
Sub ExcelOutlookPriloha()
'!!!!!Před použitím je třeba v Tools / References zaškrtnout volbu Microsoft Outlook xx.0 Object Library.!!!!!
'Tools / References / Microsoft Outlook x.x Object Library
Dim OutApp As Outlook.Application
Dim OutMail As Outlook.MailItem
Dim objNsp As Object
Dim colSyc As Object
Dim objSyc As Object
Dim i As Integer
Dim adresat As String
Set OutApp = CreateObject("Outlook.Application")
Set OutMail = OutApp.CreateItem(olMailItem)
Set objNsp = OutApp.Application.GetNamespace("MAPI") 'CORRECTION to Refer to the OutLook Application correctly
Set colSyc = objNsp.SyncObjects
adresat = "seznam@seznam.cz"
With OutMail
'adresát
.To = adresat
'kopie pro
'.CC = "schranka@email.com"
'skrytá kopie pro
'.BCC = "info@firma.org"
'předmět zprávy
.Subject = "Předmět zprávy"
'text zprávy
'.Body = "1. řádek zprávy" & Chr(13) & "2. druhý řádek zprávy"
'aktivní (uložený) sešit jako příloha
.Attachments.Add ActiveWorkbook.FullName
'Nastavení preferovaného účtu pro odeslání pošty - v tomto případě druhý v pořadí
'Dostupné od verze Office 2007
.SendUsingAccount = OutApp.Session.Accounts.Item(2)
'jiná příloha
'.Attachments.Add ActiveWorkbook.Path & "\soubor.txt"
'zobrazení okna se zprávou (není nutné)
'.Display
'odeslání zprávy
.Send
End With
For i = 1 To colSyc.Count
Set objSyc = colSyc.Item(i)
objSyc.Start
Next
OutApp.Quit
MsgBox "Zpráva byla odeslána na adresu: " & adresat, vbInformation
'uvolnění z paměti
Set OutMail = Nothing
Set objNsp = Nothing
Set colSyc = Nothing
Set objSyc = Nothing
Set OutApp = Nothing
End Sub