Stránka 1 z 1
Makro
Napsal: 11 dub 2014 21:18
od p.bublik
Ahoj,
chtěl bych poradit. Mám níže uvedené makro v sešitě. Které odesílá prostřednictví Outloku email na určitou adresu označená políčka. Jenže do samotného emailu swe nevloží podpis, který mam nastavený v Outlooku. Nevíte kde nebo jak toto nastavit? Předem písu že automaticky podpisy do nových emailů který vytvořím v Outlooku jsou vkládany.
Makro:
Sub odesli_test_test()
ActiveSheet.Range("C8:I34").Select
' Show the envelope on the ActiveWorkbook.
ActiveWorkbook.EnvelopeVisible = False
With ActiveSheet.MailEnvelope
.Item.To = "xy@xy.cz"
.Item.CC = ""
.Item.Subject = "test"
.Item.Send
End With
Range("E20:H30").Select
Selection.ClearContents
ActiveWorkbook.Save
End Sub
Re: Makro
Napsal: 11 dub 2014 21:27
od Azuzula
Ahoj, mrkni třeba sem:
http://www.rondebruin.nl/win/s1/outlook/signature.htmNebo jednoduše můžeš podpis doplnit přímo do makra nebo do dalšího řádku v excelu
Re: Makro
Napsal: 11 dub 2014 21:28
od cmuch
Nemám outlook, jen jsem něco našel.
Kód: Vybrat vše
Dim OutApp As Object
Dim OutMail As Object
Dim strbody As String
Set OutApp = CreateObject("Outlook.Application")
Set OutMail = OutApp.CreateItem(0)
strbody = "text emailu"
On Error Resume Next
With OutMail
.Display
.To = ""
.Subject = "předmět"
.HTMLBody = strbody & "<br>" & .HTMLBody
.Display
End With
On Error GoTo 0
Set OutMail = Nothing
Set OutApp = Nothing
Re: Makro
Napsal: 11 dub 2014 21:36
od p.bublik
Podpis doplnit do Makra nemohu, protože to bude využívat více lidí a každý má jiný podpis.
Re: Makro
Napsal: 12 dub 2014 10:49
od p.bublik
Mám tady toto makro, ale prostě mail to odešle v textu je jen true a podpis, ale už to nevloží ty potřebné políčka do toho mailu jako předchízející moje verze, ale bez podpisu
Sub Mail_Outlook_With_Signature_Html_1()
Dim OutApp As Object
Dim OutMail As Object
Dim strbody As String
Set OutApp = CreateObject("Outlook.Application")
Set OutMail = OutApp.CreateItem(0)
strbody = ActiveSheet.Range("D9:I33").Select
ActiveWorkbook.EnvelopeVisible = False
On Error Resume Next
With OutMail
.Display
.To = "xy@xy.xy"
.CC = ""
.Subject = "test"
.HTMLBody = strbody & "<br>" & .HTMLBody
.Send
End With
Range("E20:H29").Select
Selection.ClearContents
ActiveWorkbook.Save
On Error GoTo 0
Set OutMail = Nothing
Set OutApp = Nothing
End Sub
Re: Makro
Napsal: 12 dub 2014 19:14
od Azuzula
Podle mého je chyba v tom .select na konci viz code.Outlook nepoužívám, tak to nevyzkouším, ale smazala bych to .select a měly by se vkládat buňky do těla mailu.
Kód: Vybrat vše
strbody = ActiveSheet.Range("D9:I33").Select
Re: Makro
Napsal: 13 dub 2014 19:22
od p.bublik
Když odeberu .select tak to hodí chybu na řídku 13 a nic to neudělá.
Na řádku 13 je právě
strbody = ActiveSheet.Range("D9:I33")
Re: Makro
Napsal: 13 dub 2014 20:22
od Azuzula
pardon, unikla mi ještě deklarace proměnné strbody
přepsat z Dim strbody as string na Dim strbody as Variant pak by to mohlo jít.
Re: Makro
Napsal: 13 dub 2014 21:31
od p.bublik
Bohužel ani to nejde, odešle se jen email s podpisem :(
Sub Mail_Outlook_With_Signature_Html_1()
Dim OutApp As Object
Dim OutMail As Object
Dim strbody As Variant
Set OutApp = CreateObject("Outlook.Application")
Set OutMail = OutApp.CreateItem(0)
strbody = ActiveSheet.Range("D9:I33")
ActiveWorkbook.EnvelopeVisible = False
On Error Resume Next
With OutMail
.Display
.To = "xy@xy.yx"
.CC = ""
.Subject = "test"
.HTMLBody = strbody & "<br>" & .HTMLBody
.Send
End With
Range("E20:H29").Select
Selection.ClearContents
ActiveWorkbook.Save
On Error GoTo 0
Set OutMail = Nothing
Set OutApp = Nothing
End Sub
Re: Makro
Napsal: 14 dub 2014 09:48
od Azuzula
Aha, no... tak třeba takhle:
Kód: Vybrat vše
Sub Mail_Outlook_With_Signature_Html_1()
Dim OutApp As Object
Dim OutMail As Object
Dim strBody As String
Dim rngBody As Range
Dim rngBunka As Range
Set OutApp = CreateObject("Outlook.Application")
Set OutMail = OutApp.CreateItem(0)
'zpracování těla e-mailu
Set rngBody = ActiveSheet.Range("D9:I33")
For Each rngBunka In rngOblast
strBody = strBody & rngBunka
Next
ActiveWorkbook.EnvelopeVisible = False
On Error Resume Next
With OutMail
.Display
.To = "xy@xy.yx"
.CC = ""
.Subject = "test"
.HTMLBody = strBody & "<br>" & .HTMLBody
.Send
End With
Range("E20:H29").Select
Selection.ClearContents
ActiveWorkbook.Save
On Error GoTo 0
Set OutMail = Nothing
Set OutApp = Nothing
End Sub
Předpoklad je, že v buňkách s tělem e-mailu máš nějaký html kód a tím pádem nesejde na formátování buněk v excelu. Pokud potřebuješ formátování přenést do e-mailu tak jak je v excelu, tak to nejspíš budeme muset vyřešit jiným způsobem.