Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

eMail per CommandButton verschicken...

Forumthread: eMail per CommandButton verschicken...

eMail per CommandButton verschicken...
09.04.2003 09:32:17
Pete
Hallo Leute,
ich möchte gerne einen CommandButton in einem Word-Dokument erstellen (ich denke, dass das Problem auch auf Excel zutrifft). Dieser soll, sobald man ihn anklickt, das aktuelle Dokument (in dem auch er sich befindet) an in ihm voreingestellte eMail-Empfänger schicken.
Ich habe versucht, das mit folgender Prozedur zu verwirklichen:

Private Sub Verschicken_Click()
With ActiveDocument.MailEnvelope
.Introduction = "anbei die Word-Datei zur Durchsicht..." & vbCr & "Viele Grüße"
With .Item
.Subject = "eMail aus Word"
.To = "alexander.gass@siemens.com"
.CC = "alexander.gass@siemens.com"
.Send
End With
End With
End Sub


Allerdings bekomme ich folgende Fehlermeldung:
Laufzeitfehler '438':

Objekt unterstützt diese Eigenschaft oder Methode nicht

Weiß jemand etwas, das mit weiterhilft?

MfG
Pete

Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: eMail per CommandButton verschicken...
09.04.2003 10:05:49
Willie

Hallo Pete versuche es mal so!

Sub EMailVerschickenMitAnhängen()
Dim outObj As Object
Dim Mail As Object
Dim i As Integer

Set outObj = CreateObject("Outlook.Application")
Set Mail = outObj.CreateItem(0)
With Mail
.Subject = "Tagesmeldung.html"
.Body = "Sehr geehrte Damen und Herren " & Chr(13) & _
"Bitte prüfen Sie die angehängten DATEI" & Chr(13) & _
"Viele Grüße " & Chr(13) & _
"Mein Name"
.To = "abc@xyz.de"
.CC = "abc@xyz.de"
.BCC = "abc@xyz.de"
End With
With Application.FileSearch
.NewSearch
.LookIn = "c:\Temp"
.SearchSubFolders = False
.FileType = msoFileTypeAllFiles
.Execute
Mail.Attachments.Add "C:\Temp\Myfile.xls"
End With
Mail.Display
Set Mail = Nothing
Set outObj = Nothing
End Sub


Gruß

Willie

Anzeige
Re: eMail per CommandButton verschicken...
09.04.2003 10:14:01
Pete

Das muss doch auch einfacher gehen. Ich hab' die Prozedur, die ich verwendet habe aus 'nem Heft. Ich hab' wohl nur 'ne Kleinigkeit falsch gemacht...

Re: eMail per CommandButton verschicken...
09.04.2003 10:25:56
Willie

Ich habe das aus dem Buch von Bernd Held
und bei mir funktioniert es ohne Probleme!
du mußt es eben auch noch anpassen!

"Mein Name"
.To = "abc@xyz.de"
.CC = "abc@xyz.de"
.BCC = "abc@xyz.de"


Mail.Attachments.Add "C:\Temp\Myfile.xls"

Gruß

Willie

Anzeige
;
Anzeige

Infobox / Tutorial

CommandButton in Word und Excel zum E-Mail-Versand nutzen


Schritt-für-Schritt-Anleitung

Um einen CommandButton in einem Word-Dokument oder Excel zu erstellen, der beim Klicken eine E-Mail versendet, folge diesen Schritten:

  1. Öffne Dein Word-Dokument oder Excel-Arbeitsmappe.
  2. Aktiviere die Entwicklertools:
    • In Word: Gehe zu Datei > Optionen > Menüband anpassen und aktiviere die Entwicklertools.
    • In Excel: Gehe zu Datei > Optionen > Menüband anpassen und aktiviere die Entwicklertools.
  3. Füge einen CommandButton ein:
    • Klicke auf Entwicklertools > Einfügen > Schaltfläche (Formularsteuerelement) und ziehe die Schaltfläche auf das Dokument.
  4. Doppelklicke auf die Schaltfläche, um den VBA-Editor zu öffnen.
  5. Füge den folgenden Code ein, um das aktuelle Dokument per E-Mail zu versenden:
Private Sub CommandButton1_Click()
    Dim outObj As Object
    Dim Mail As Object

    Set outObj = CreateObject("Outlook.Application")
    Set Mail = outObj.CreateItem(0)

    With Mail
        .Subject = "Word Dokument per Klick auf Button versenden"
        .Body = "Hier ist das Word-Dokument zur Durchsicht."
        .To = "dein.email@domain.com"
        .CC = "kopie@domain.com"
        .Attachments.Add ActiveDocument.FullName
        .Send
    End With

    Set Mail = Nothing
    Set outObj = Nothing
End Sub
  1. Speichere das Dokument als Makro-enabled Dokument (.docm oder .xlsm).
  2. Klicke auf den CommandButton, um die E-Mail zu versenden.

Häufige Fehler und Lösungen

  • Fehlermeldung: Laufzeitfehler '438':

    • Überprüfe, ob Du die richtigen Objekte und Methoden verwendest. Stelle sicher, dass die Outlook-Anwendung korrekt installiert und konfiguriert ist.
  • E-Mail wird nicht gesendet:

    • Stelle sicher, dass Outlook als Standard-E-Mail-Programm konfiguriert ist und dass alle E-Mail-Adressen korrekt eingegeben sind.

Alternative Methoden

Falls Du keinen CommandButton nutzen möchtest, kannst Du auch die folgenden Methoden ausprobieren:

  • Hyperlink mit Makro: Erstelle einen Hyperlink, der ein Makro ausführt, um die E-Mail zu senden.
  • Automatisierung mit einem Skript: Nutze PowerShell oder ein anderes Skript, um E-Mails aus Excel oder Word zu versenden.

Praktische Beispiele

  • Beispiel für ein Word-Dokument: Um ein Word-Dokument per E-Mail zu versenden, kannst Du den obigen Code verwenden. Ändere einfach die Betreffzeile und den E-Mail-Inhalt nach Bedarf.

  • Beispiel für Excel: Der gleiche Code funktioniert in Excel, stelle jedoch sicher, dass Du den richtigen Verweis auf das Arbeitsblatt und die Zelle verwendest, um den gewünschten Inhalt zu versenden.


Tipps für Profis

  • E-Mail-Vorlagen: Erstelle vordefinierte E-Mail-Vorlagen, die Du mit einem Klick versenden kannst, um Zeit zu sparen.
  • Fehlerbehandlung: Füge Fehlerbehandlungsroutinen in Deinen Code ein, um unerwartete Probleme zu identifizieren und zu beheben.
  • Siemens Logo E-Mail versenden: Wenn Du spezifische Anforderungen hast, wie das Versenden von Statusberichten von Siemens Logo, stelle sicher, dass Du die richtigen E-Mail-Adressen und Betreffzeilen verwendest.

FAQ: Häufige Fragen

1. Kann ich das Word-Dokument auch als Anhang versenden?
Ja, der Code oben fügt das aktuelle Word-Dokument als Anhang in die E-Mail ein.

2. Funktioniert dieser Code auch in Excel?
Ja, der Code ist anpassbar und kann auch in Excel verwendet werden, um eine E-Mail zu versenden.

3. Was mache ich, wenn ich eine Fehlermeldung erhalte?
Überprüfe die E-Mail-Adressen, stelle sicher, dass Outlook eingerichtet ist, und achte darauf, dass Du die richtigen Objekte in Deinem Code verwendest.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige