Zobrazit plnou verzi příspěvku: excel - odeslat link
Rostislav Říha
15.09.2011, 06:41
excel umí odeslat soubor jako přílohu mailu - prosím, nemáte někdo makro, které by umělo odeslat místo přílohy jen odkaz na cestu k souboru?děkuji
Vladimír Michl
15.09.2011, 18:05
Na to už vám nebude stačit vestavěná mailovací funkce a budete muset využít nějaké stávající mail-rozhraní. Příklad kódu pro Outlook (autor Ron de Bruin):[CODE]Sub Make_Outlook_Mail_With_File_Link()'Working in Office 2000-2010 Dim OutApp As Object Dim OutMail As Object Dim strbody As String If ActiveWorkbook.Path <> "" Then Set OutApp = CreateObject("Outlook.Application") Set OutMail = OutApp.CreateItem(0) strbody = "<font size=""3"" face=""Calibri"">" & _ "Colleagues,<br><br>" & _ "I want to inform you that the next sales Order :<br><B>" & _ ActiveWorkbook.Name & "</B> is created.<br>" & _ "Click on this link to open the file : " & _ "<A HREF=""file://" & ActiveWorkbook.FullName & _ """>Link to the file</A>" & _ "<br><br>Regards," & _ "<br><br>Account Management</font>" On Error Resume Next With OutMail .To = "jan.novak@cadstudio.cz" .CC = "" .BCC = "" .Subject = ActiveWorkbook.Name .htmlBody = strbody .Display 'or use .Send End With On Error GoTo 0 Set OutMail = Nothing Set OutApp = Nothing Else MsgBox "The ActiveWorkbook does not have a path, Save the file first." End IfEnd Sub[/CODE]
Rostislav Říha
15.09.2011, 19:00
makra v exlu moc neumím (jinak bych se neptal:), tak jsem tohle jen zkopíroval a zkusil pustit... jakmile se v exlu 2003 dostane na strbody=, tak se sekne...zkoušel jsem v té části něco mazat, ale trial+error nezafungovalo:) ... excel 2003 + outlook2007
Vladimír Michl
15.09.2011, 19:52
Já myslím, že by to mělo fungovat i ve verzi 2003, nemám ji ale teď na vyzkoušení. Ověřte prosím ta podtržítka na konci řádků (uvozují pokračovací řádek jednoho příkazu), popř. pokračovací řádky slučte do jednoho.
Rostislav Říha
16.09.2011, 16:49
sloučil pokračovací řádky do jednoho a funguje! dík moc!