Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Link aus VBA raus per E- Mail versenden

Link aus VBA raus per E- Mail versenden
uwe
Hallo vba Programmierer,
ich habe folgendes Problem: Ich möchte aus diesem VBA- code einen Link anhängen und diesen aus VBA raus, versenden.
Hier angehängt habe ich den Code, den ich genneriert habe:
Sub Link_via_Outlook_Senden()
Dim Nachricht As Object, OutApp As Object
Set OutApp = CreateObject("Outlook.Application")
Dim sBody As String  'Link wird als Mail gesendet
sBody = "\\Smuc2108\Motor\TA-2\TA-25\TA-254\Fehlerbeseitigung\00_Feldbeobachtung\ _
10_Status_aktuell\Auf_Absteiger_Schleicher"
Set Nachricht = OutApp.CreateItem(0)
With Nachricht
.To = "ich@ich.de"
.Subject = "Testmeldung von Link " & Date & Time
.sBody = "\\Smuc2108\Motor\TA-2\TA-25\TA-254\Fehlerbeseitigung\00_Feldbeobachtung\ _
10_Status_aktuell\Auf_Absteiger_Schleicher"
.Body = "Das ist ein Test." & vbCrLf & "Bitte ignorieren."
.attachments.Add sBody
'Hier wird die Mail nochmals angezeigt
.Display
'Hier wird die Mail gleich in den Postausgang gelegt
Mail.Send
End With
'Outlook schliessen
OutApp.Quit
Set OutApp = Nothing
Set Nachricht = Nothing
End Sub
Jetzt bekomme ich immer eine Fehlermeldung "Objekt unterstützt diese Eigenschaft oder Methode nicht" in der Zeile ".sBody = "\\Smuc2108\Motor\TA-2\TA-25\TA-254\Fehlerbeseitigung\00_Feldbeobachtung\10_Status_aktuell\Auf_Absteiger_Schleicher"
Jetzt stellt sich bei mir die Frage, ob jemand eine geniale Idee hat wie ich den Code umstellen oder wie er richtig ist.
Vielen Dank im voraus für eure Hilfe.
Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Link aus VBA raus per E- Mail versenden
14.04.2011 18:58:36
mumpel
Hallo!
sBody ist kein Objekt einer Email, da es dieses nicht gibt. Du musst den Link per htmlBody erstellen (HTML-Programmierung).
Gruß, René
AW: Link aus VBA raus per E- Mail versenden
15.04.2011 08:53:31
uwe
Hallo Rene,
vielen Dank für diene Rückmeldung.
Jetzt habe ich immer noch ein Problem mit einer Fehlermeldung und zwar bei
".Attachments.Add sBody".
Hier heißt es dass:
Es können nur Dateieen und Objekte als Anlagen eingefügt werden "\\Smuc2108\Motor\TA-2\TA-25\TA-254\Fehlerbeseitigung\" & _
"00_Feldbeobachtung\10_Status_aktuell\Auf_Absteiger_Schleicher"
ist ein Ordner und kann deshalb nicht als Anlage eingefügt werden.
Hast Du eine Idee, wie die Fehlermeldung nicht mehr erscheint?
Vielen Dank!
Gruß
Uwe
Anzeige
AW: Link aus VBA raus per E- Mail versenden
15.04.2011 14:00:44
mumpel
Du kannst nur Dateien anhängen. Anzuhängende Dateien mit Dateiendung angeben. Das Anhängen von Ordnern ist nicht möglich.
AW: Link aus VBA raus per E- Mail versenden
15.04.2011 15:03:02
uwe
Vielen Dank für deine Rückmeldung. Habe einen anderen Weg gefunden das zu umgehen. Habe einfach ".Attachments.Add sBody" weggelassen.
Grüße Uwe
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Link aus VBA per E-Mail versenden


Schritt-für-Schritt-Anleitung

Um einen Link aus Excel per E-Mail zu versenden, kannst Du den folgenden VBA-Code verwenden. Dieser Code erstellt eine E-Mail über Outlook und fügt einen Link in den E-Mail-Text ein. Achte darauf, dass Du die Dateipfade korrekt angibst.

Sub Link_via_Outlook_Senden()
    Dim Nachricht As Object, OutApp As Object
    Set OutApp = CreateObject("Outlook.Application")
    Dim sBody As String
    sBody = "<a href='\\Smuc2108\Motor\TA-2\TA-25\TA-254\Fehlerbeseitigung\00_Feldbeobachtung\10_Status_aktuell\Auf_Absteiger_Schleicher'>Link zur Datei</a>"
    Set Nachricht = OutApp.CreateItem(0)
    With Nachricht
        .To = "ich@ich.de"
        .Subject = "Testmeldung von Link " & Date & Time
        .HTMLBody = sBody & "<br>Das ist ein Test." & vbCrLf & "Bitte ignorieren."
        .Display ' Zeigt die E-Mail an
        '.Send ' Sendet die E-Mail direkt
    End With
    OutApp.Quit
    Set OutApp = Nothing
    Set Nachricht = Nothing
End Sub

In diesem Code wird HTMLBody anstelle von sBody verwendet, um den Link korrekt darzustellen. Wenn Du die E-Mail direkt versenden möchtest, kannst Du die .Display-Zeile durch .Send ersetzen.


Häufige Fehler und Lösungen

Fehler 1: "Objekt unterstützt diese Eigenschaft oder Methode nicht"
Lösung: Stelle sicher, dass Du HTMLBody verwendest, um den Link korrekt einzufügen.

Fehler 2: "Es können nur Dateien und Objekte als Anlagen eingefügt werden"
Lösung: Du kannst nur Dateien anhängen. Um einen Link zu versenden, lasse die Zeile .Attachments.Add sBody weg, es sei denn, Du möchtest eine spezifische Datei anhängen.


Alternative Methoden

Eine alternative Methode wäre, den Link nicht direkt in den E-Mail-Text einzufügen, sondern die Excel-Datei selbst als Link zu versenden. Dazu kannst Du die Datei in einen Cloud-Dienst (z.B. OneDrive) hochladen und den Link teilen.


Praktische Beispiele

Wenn Du eine Excel-Tabelle als Link versenden möchtest, könnte der VBA-Code wie folgt aussehen:

Sub ExcelTabelleLinkVersenden()
    Dim OutApp As Object
    Set OutApp = CreateObject("Outlook.Application")
    Dim Nachricht As Object
    Set Nachricht = OutApp.CreateItem(0)

    With Nachricht
        .To = "empfaenger@domain.de"
        .Subject = "Link zu meiner Excel-Tabelle"
        .HTMLBody = "<p>Hier ist der Link zu meiner Excel-Tabelle:</p>" & _
                    "<a href='https://deincloudlink.com/exceldatei'>Excel-Tabelle öffnen</a>"
        .Display ' Zeigt die E-Mail an
        '.Send ' Sendet die E-Mail direkt
    End With

    Set Nachricht = Nothing
    Set OutApp = Nothing
End Sub

Tipps für Profis

  • Verwende HTML-Formatierung: Um ansprechende E-Mails zu erstellen, nutze HTML-Formatierungen für Links und Texte.
  • Testen: Teste Deinen Code in einer sicheren Umgebung, bevor Du ihn in einer produktiven Umgebung verwendest.
  • Fehlerbehandlung: Implementiere Fehlerbehandlung in Deinem VBA-Code, um Probleme beim Senden von E-Mails zu vermeiden.

FAQ: Häufige Fragen

1. Wie versende ich einen Link per E-Mail?
Du kannst einen Link in den E-Mail-Text einfügen, indem Du das HTML-Format verwendest und die HTMLBody-Eigenschaft von Outlook nutzt.

2. Kann ich einen gesamten Ordner als Link versenden?
Nein, Du kannst nur Dateien als Anlagen hinzufügen. Um einen Ordner zu teilen, lade die Dateien in einen Cloud-Dienst hoch und versende den Link zu diesem Ordner.

3. Welche Outlook-Version benötige ich für VBA?
VBA funktioniert in den meisten Versionen von Outlook, jedoch solltest Du sicherstellen, dass Du eine unterstützte Version hast, die das Automatisieren von Outlook ermöglicht.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige