Pokouším se zautomatizovat odesílání objednávek, které vytvářím v excelu.
Stav nyní: Vytvořím objednávku, uložím do .pdf, vytisknu jednu kopii, odešlu příjemci
Stav, kam se chci dostat: Vytvořím objednávku a vytištění, uložení a odeslání chci vyřešit makrem
VBA neovládám, ale pokouším se skládat nějaké příklady do sebe a stylem „co se stane, když odmažu tohle“ se docela daří nějaké drobnější věci udělat. Zde jsem skoro u cíle a mám udělán tento zdrojový kód:
Kód: Vybrat vše
Sub ODESLI_OBJEDNAVKU()
Dim Outlook As Outlook.Application
Dim Zprava As Object
Dim PDF_path As String
a = Range("D11").Text 'Ulož do proměnné a text z pole D11
soubor = "Z:\VYROBA\Výroba OCEL\MTZ_2019\" & a & ".pdf" 'Cesta pro uložení listu do .pdf
ActiveSheet.ExportAsFixedFormat _
Type:=xlTypePDF, _
Filename:=soubor, _
Quality:=xlQualityStandard, _
IncludeDocProperties:=True, _
IgnorePrintAreas:=False, _
OpenAfterPublish:=False
PDF_path = ActiveWorkbook.Path & a & ".pdf"
Set Outlook = New Outlook.Application
Set Zprava = Outlook.CreateItem(olMailItem)
Set myAttachments = Zprava.Attachments
On Error GoTo ERR1
myAttachments.Add PDF_path, olByValue, 1, ""
With Zprava
.To = Range("V4") 'adresát
.Subject = Range("V5") 'předmět
.Body = Range("V6") 'obsah
.BodyFormat = olFormatPlain 'formát mailu
.Display 'zobrazit okno
'.Send 'odeslat
End With
GoTo konec
ERR1:
MsgBox "e-mai nebyl odeslán, něco je špatně"
konec:
End Sub
V tuto chvíli tedy umím uložit stránku do .pdf, umím vytisknout stránku na tiskárně. Vytvoří se mi emailová zpráva se správným adresátem, předmětem a doprovodným textem. Nedaří se mi poslední věc a to ta, že uložený pdf soubor má správný název. Potřebuji, aby měl soubor v příloze identický název, jako je název souboru, který ukládám do .pdf. Název si ukládám do proměnné a myslím si, že mám nastaveno správně, ale evidentně nemám.
Poradíte?