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

xlDialogSendMail-Parameter

Forumthread: xlDialogSendMail-Parameter

xlDialogSendMail-Parameter
06.11.2002 11:17:24
Detlev
Hallo Forum,

mit folgendem Makrocode öffne ich in meinem Makro den Dialog zum eMailversand:
>>> Application.Dialogs(xlDialogSendMail).Show <<<
Die Funktion xlDialogShow hat 3 Argumente, nämlich recipients, subject und return_receipt. Wenn ich jetzt den Code in
>>> Application.Dialogs(xlDialogSendMail).Show("Empfänger@Adresse.de") <<<
ändere klappt noch alles ganz gut. Der Empänger steht im richtigen Feld. Ändere ich die Zeile in
>>> Application.Dialogs(xlDialogSendMail).Show("Empfänger@Adresse.de", "Betreff") <<<
gibt der Debugger die Fehlermeldung
>>> Erwartet: = <<< aus.

Was mache ich falsch ?




Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: xlDialogSendMail-Parameter
06.11.2002 11:39:06
Wilhelm K
Hallo Detlev,
übergib die Argumente nach Show ohne Klammer

Sub mail()
Application.Dialogs(xlDialogSendMail).Show "Empfänger", "Betreff"
End Sub

oder definiere gleich zwei Variablen (String), die Du dann abfragen kannst beim Benutzer und an das Show übergibst

Private Sub MailTabelle()
Dim str1 As String
Dim str2 As String

On Error GoTo fehler

ActiveWorkbook.Worksheets(ActiveSheet.Name).Copy
str1 = InputBox _
("Bitte Adressaten eingeben!" & Chr(13) & _
"hans.muster@xx.ch", "Adressat")
If s = "" Then MsgBox "Sie haben abgebrochen!": _
Exit Sub
str2 = InputBox _
("Bitte Betreff eingeben!", "Titel")
If s2 = "" Then MsgBox "Sie haben abgebrochen!": _
Exit Sub
Application.Dialogs(xlDialogSendMail).Show str1, str2
ActiveWorkbook.Close savechanges:=False
Exit Sub

fehler:
MsgBox ("Es muss eine Datei geöffnet sein!")
End Sub

Anzeige
Re: xlDialogSendMail-Parameter
06.11.2002 11:55:40
Detlev
Arrgh!!

Da hab ich wohl den Wald vor Bäumen nicht gesehen ...

Danke :)

p.s. die Argumente sind eh schon Variablen

;
Anzeige

Infobox / Tutorial

xlDialogSendMail-Parameter in Excel nutzen


Schritt-für-Schritt-Anleitung

Um den xlDialogSendMail-Dialog in Excel mit den richtigen Parametern zu verwenden, befolge diese Schritte:

  1. Öffne den Visual Basic for Applications (VBA) Editor: Drücke ALT + F11.

  2. Füge ein neues Modul hinzu: Klicke mit der rechten Maustaste auf "VBAProject (deine Datei)", wähle "Einfügen" und dann "Modul".

  3. Gib den folgenden Code ein:

    Sub mail()
       Application.Dialogs(xlDialogSendMail).Show "Empfänger@Adresse.de", "Betreff"
    End Sub
  4. Führe das Makro aus: Gehe zurück zu Excel, drücke ALT + F8, wähle mail und klicke auf "Ausführen".


Häufige Fehler und Lösungen

Ein häufiges Problem beim Verwenden von application.dialogs(xldialogsendmail).show ist die falsche Übergabe von Argumenten.

  • Fehler: „Erwartet: =“

    • Lösung: Stelle sicher, dass du die Argumente ohne Klammern übergibst. Beispiel:
    Application.Dialogs(xlDialogSendMail).Show "Empfänger", "Betreff"
  • Fehler: „Es muss eine Datei geöffnet sein!“

    • Lösung: Stelle sicher, dass du eine Datei geöffnet hast, bevor du das Makro ausführst.

Alternative Methoden

Falls du eine andere Methode zur Erstellung von E-Mails in Excel ausprobieren möchtest, kannst du die Outlook-Objektbibliothek verwenden:

Sub SendMailWithOutlook()
    Dim OutlookApp As Object
    Dim MailItem As Object

    Set OutlookApp = CreateObject("Outlook.Application")
    Set MailItem = OutlookApp.CreateItem(0)

    With MailItem
        .To = "Empfänger@Adresse.de"
        .Subject = "Betreff"
        .Body = "Inhalt der E-Mail"
        .Display 'oder .Send, um direkt zu senden
    End With
End Sub

Praktische Beispiele

Hier sind einige praktische Beispiele zur Verwendung von application.dialogs(xldialogsendmail):

  1. E-Mail mit festen Empfängern und Betreff:

    Sub SendMail()
       Application.Dialogs(xlDialogSendMail).Show "empfaenger@example.com", "Wichtiger Betreff"
    End Sub
  2. E-Mail mit Benutzereingaben:

    Sub MailMitEingabe()
       Dim empfaenger As String
       Dim betreff As String
    
       empfaenger = InputBox("Bitte Empfänger eingeben")
       betreff = InputBox("Bitte Betreff eingeben")
    
       Application.Dialogs(xlDialogSendMail).Show empfaenger, betreff
    End Sub

Tipps für Profis

  • Nutze die Möglichkeit, xldialogsendmail mit Variablen zu kombinieren, um Eingabefelder dynamisch zu gestalten.
  • Denke daran, die Excel-Version zu überprüfen, da einige Dialoge in älteren Versionen möglicherweise nicht verfügbar sind.
  • Du kannst den Dialog auch anpassen, indem du verschiedene application.dialogs-Optionen verwendest, wie z.B. application.dialogs(xldialogsaveas).show arguments.

FAQ: Häufige Fragen

1. Wie gebe ich mehrere Empfänger an?
Du kannst mehrere Empfänger durch Kommas trennen:

Application.Dialogs(xlDialogSendMail).Show "empfaenger1@example.com; empfaenger2@example.com", "Betreff"

2. Kann ich den Text der E-Mail anpassen?
Ja, jedoch ist der xlDialogSendMail-Dialog in Bezug auf den Textinhalt eingeschränkt. Du kannst stattdessen Outlook-Objekte verwenden, um mehr Kontrolle über den E-Mail-Inhalt zu haben.

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