Registriert seit: 27.09.2022
Version(en): 365
27.09.2022, 07:52
(Dieser Beitrag wurde zuletzt bearbeitet: 27.09.2022, 07:54 von Mila.)
Hallo, ich habe in Excel eine kleine Prozedur wodurch eine Email automatisiert versendet wird, das klappt auch grundsätzlich ohne Problem, jetzt hätte ich nur gerne im Body Element einen Link der anklickbar ist, aber da fehlt mir die idee wie ich das hinbekomme. Bis jetzt sieht das ganze so aus: Code: Set objOutlook = CreateObject("Outlook.Application") Set objMail = objOutlook.CreateItem(0)
With objMail .to = EmailEmpfaenger .Subject = "Neuer Bericht von " & txtBesuch .Body = "Im Anhang befindet sich das Protokoll zum Besuch von " & txtBesuch & "." & " Das Protokoll finden Sie auch auf dem Laufwerk unter " & Ort & "." .Attachments.Add Ort & txtBericht.Value & "-" & ID & "-" & Format(Now, "dd.mm.yyyy hh mm") & ".pdf" .Send End With
Als Link sollte nun der "Ort" hinter "Das Protokoll finden Sie auch auf dem Laufwerk........." sein. DDanke
00202
Nicht registrierter Gast
Hallo, prinzipiell so - statt & Ort: Code: & "file://C:\TMP\TestDatei.xlsx"
Bzw. wenn das Dokument auf einem Server liegt auch: Code: & "file://\\Server\Group\Projekte\TestDatei.xlsx"
Registriert seit: 26.09.2022
Version(en): 2019
Moin, das Problem hat so ziemlich nix mit Excel zu tun, aber sei es drum: Für einen Anklickbaren Link in Outlook muss entweder der Empfänger den Plaintext-Body parsen (das machen einige Mail-Clients automatisch), oder du verwendest direkt den HTML-Body und fügst den Link in entsprechende Anchor-Tags ein. Dazu empfiehlt es sich, den HTML-Body direkt vollständig in "ordentliches" HTML zu setzen. Dazu sind einfache Grundkenntnisse in HTML vollkommen ausreichend: Code: [...] .HTMLBody="<p>Hallo du,</p><p>hier der Link, den ich dir schon immer senden wollte: <a href=""https://www.clever-excel-forum.de"">Klick den freundlichen Text</a></p>" [...]
Viele Grüße derHöpp
Registriert seit: 27.09.2022
Version(en): 365
Hi, wieso? Das "Ort" ist ja eine Variable wo der Speicherort der Datei drin gespeichert ist, daher sollte das doch gehen oder nicht? Die Variable wird ja dann als Text auch korrekt in der ankommenden Email angezeigt, nur leider nicht als anklickbarer Link.
Registriert seit: 27.09.2022
Version(en): 365
(27.09.2022, 14:28)derHoepp schrieb: Moin,
das Problem hat so ziemlich nix mit Excel zu tun, aber sei es drum: Für einen Anklickbaren Link in Outlook muss entweder der Empfänger den Plaintext-Body parsen (das machen einige Mail-Clients automatisch), oder du verwendest direkt den HTML-Body und fügst den Link in entsprechende Anchor-Tags ein. Dazu empfiehlt es sich, den HTML-Body direkt vollständig in "ordentliches" HTML zu setzen. Dazu sind einfache Grundkenntnisse in HTML vollkommen ausreichend:
Code: [...] .HTMLBody="<p>Hallo du,</p><p>hier der Link, den ich dir schon immer senden wollte: <a href=""https://www.clever-excel-forum.de"">Klick den freundlichen Text</a></p>" [...]
Viele Grüße derHöpp Hi, naja Excel deshalb weil ich die Email aus Excel heraus versenden will.. Irgedwie bekomme ich das auch mit deinem HTML Beispiel nicht hin, was daran liegt, das ich sowohl im ersten Teil eine Variable einsetzen möchte die dann aufgelöst im Test erscheint, also ca. so im Code Code: .HTMLBody = "<p>Im Anhang befindet sich das Protokoll zum Besuch des Lieferanten & txtBesuch & . </p>
Allerdings wird das dann in der Email einfach als Text angezeigt und nicht die Variable txtBesuch aufgelöst und das ähnliche Problem habe ich dann auch beim Link. Code: <p>Das Protokoll finden Sie auch auf dem Laufwerk unter: <a href="" & Ort & "">Protokoll</a></p>"
Wobei "Ort" wieder eine Variable ist die den Link enthält, "Protokoll" wird zwar in der Email als Link angezeigt, allerdings verweist es dann auf "& Ort &" Danke
00202
Nicht registrierter Gast
Hallo, wenn Ort Pfad und Dateiname enthält, dann so: Code: .Body = "Hier Änderung beschreiben" & Chr$(13) & "file://" & Ort
Registriert seit: 22.11.2019
Version(en): 365
29.09.2022, 08:44
(Dieser Beitrag wurde zuletzt bearbeitet: 29.09.2022, 09:15 von volti.)
Hallo Mia, hier noch ein Vorschlag. Wie DeHoepp schon vorgeschlagen hat, kannst Du eine HTML-eMail nehmen und Deinen Link dort reinsetzen. Links werden in A-Tags gesetzt. Das u.a. Beispiel nimmt den Link aus der Ort-Variablen und zeigt den Link auch als Text so an. Der angezeigte Linktext kann natürlich auch abweichend vom Link selbst sein. Ob Du nun das Ganze in P-Tags oder DIV-Tags (Absatz), SPAN-Tags (Bereich), BODY-Tag oder gar keinen weiteren Tag setzt, ist hier mal egal. Zeilenumbrüche in einer HTML-Mail erfolgen über den BR-Tag. PS: Vorteil einer HTML-Mail ist auch, dass Du Deinen Text formatieren kannst. Code:
Sub Test() Ort = "http:MyOrt.de"
With CreateObject("Outlook.Application").CreateItem(0) .to = EmailEmpfaenger .Subject = "Neuer Bericht von " & txtBesuch .htmlBody = "Im Anhang befindet sich das Protokoll zum Besuch von " & txtBesuch & ".<br>" _ & "Das Protokoll finden Sie auch auf dem Laufwerk unter <a href='" & Ort & "'>" & Ort & "</a>." .Attachments.Add Ort & txtBericht.Value & "-" & ID & "-" & Format(Now, "dd.mm.yyyy hh mm") & ".pdf" .Send End With End Sub
_________ viele Grüße Karl-Heinz
Folgende(r) 1 Nutzer sagt Danke an volti für diesen Beitrag:1 Nutzer sagt Danke an volti für diesen Beitrag 28
• Mila
Registriert seit: 28.08.2022
Version(en): 365
Hi Mila, (29.09.2022, 05:44)Mila schrieb: Code: .HTMLBody = "<p>Im Anhang befindet sich das Protokoll zum Besuch des Lieferanten & txtBesuch & . </p>
Allerdings wird das dann in der Email einfach als Text angezeigt und nicht die Variable txtBesuch aufgelöst und das ähnliche Problem habe ich dann auch beim Link.
Code: <p>Das Protokoll finden Sie auch auf dem Laufwerk unter: <a href="" & Ort & "">Protokoll</a></p>"
Wobei "Ort" wieder eine Variable ist die den Link enthält, "Protokoll" wird zwar in der Email als Link angezeigt, allerdings verweist es dann auf "& Ort &" Du solltest dich einmal mit der Verarbeitung von Strings auseinandersetzen. Wenn du innerhalb eines Strings eine Variable verwenden willst, dann musst du erst den String beenden, die Variable mit & Var & einfügen und dann den String fortsetzen: Code: .HTMLBody = "<p>Im Anhang befindet sich das Protokoll zum Besuch des Lieferanten" & txtBesuch & " . </p>"
bzw. Code: "<p>Das Protokoll finden Sie auch auf dem Laufwerk unter: <a href=""" & Ort & """>Protokoll</a></p>"
Wenn du innerhalb eines Strings "-Zeichen brauchst, musst du diese doppelt eingeben weil ein einfaches "-Zeichen den String beendet.
Gruß, Helmut
Win10 - Office365 / MacOS - Office365
Folgende(r) 1 Nutzer sagt Danke an HKindler für diesen Beitrag:1 Nutzer sagt Danke an HKindler für diesen Beitrag 28
• Mila
Registriert seit: 11.04.2014
Version(en): Office 365
Hallo! Ich habe mal vor langer Zeit ein Excel-Add-In geschrieben, bei dem es verschiedene Möglichkeiten zum Erstellen von Emails gibt. http://www.rholtz-office.de/counters/getfile.php?id=1 (Nur für 32-bit-Office, ab Office 2007. Wird nicht weiterentwickelt). VBA-Kennwort ist ein kleines a. Da könnt ihr euch so manchen Code für eure Projekte rausnehmen. Gruß, René
Folgende(r) 1 Nutzer sagt Danke an mumpel für diesen Beitrag:1 Nutzer sagt Danke an mumpel für diesen Beitrag 28
• Mila
Registriert seit: 27.09.2022
Version(en): 365
@Volti, ein Traum, das klappt ganz hervorragend, danke auch für die erklärungen! LG Mila
|