Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema CommandButton
BildScreenshot zu CommandButton CommandButton-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema ListBox
BildScreenshot zu ListBox ListBox-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema TextBox
BildScreenshot zu TextBox TextBox-Seite mit Beispielarbeitsmappe aufrufen

Aus Datenbank Mail versenden

Betrifft: Aus Datenbank Mail versenden von: Mareike
Geschrieben am: 26.08.2020 13:14:28

Hallo ihr lieben Excel-Profis,

ich möchte gerne folgende Programmierung lösen:

Wenn ein Zellenwert (Rückmeldung vom Kunden) nicht enthalten ist, so soll man über eine Datenbank Kundendaten aufrufen. Wenn man aus der ListBox den gewünschten Kunden auswählt, steht die Mailadresse immer in TextBox 4. Es soll nun über einen CommandButton (in meinem Fall CommandButton5) eine Verknüpfung zu Outlook erstellt werden, die bereits die Mailadresse aus TextBox4 im Empfängerfeld enthält. Alle anderen Daten wie Betreff und die Nachricht sollen im Outlook-Dialogfeld eingetragen werden. Es geht mir nur um die Verknüpfung zu Outlook und die Übernahme der betreffenden Mailadressen.


Ist das umsetzbar? Falls ja- könnt ihr mir bitte einen entsprechenden Code programmieren?


Ich freue mich über eure Antworten.

(Bin totaler VBA-Neuling und hab es dank diesem Forum bis zu dem Schritt geschafft, aber komme nicht weiter).


Vielen lieben Dank.

Mareike

Betrifft: AW: Aus Datenbank Mail versenden
von: Dieter Klemke
Geschrieben am: 26.08.2020 18:04:22

Hallo Mareike,

vielleicht kommst du mit dem folgenden Programm zurecht. Die Anlage, die der E-Mail beigefügt wird, kannst du ja streichen.
Sub E_Mail_Verschicken()
  Dim Anlage As String
  Dim Betreff As String
  Dim Datei As String
  Dim Empfänger As String
  Dim Mail_Text As String
  Dim olAktiviert As Boolean
  Dim olApp As Outlook.Application
  Dim olMI As Outlook.MailItem
  Dim Pfad As String
  
  '##############################################################
  Pfad = ThisWorkbook.Path & "\"
  Datei = "Budgetplanung.xlsx"
  Empfänger = "Mustermann@xyz.com"
  Betreff = "Unterlagen für Budgetplanung"
  Mail_Text = "In der Anlage sind die neuen Planungsunterlagen " & _
              "beigefügt: " & vbNewLine & _
              Datei & vbNewLine & _
              Format$(Now, "dd.mm.yyyy hh:mm:ss")
  '##############################################################
  
  Anlage = Pfad & Datei
  On Error Resume Next
  Set olApp = GetObject(Class:="Outlook.Application")
  If Err <> 0 Then
    Set olApp = CreateObject("Outlook.Application")
    olAktiviert = True
  End If
  On Error GoTo 0
  
  Set olMI = olApp.CreateItem(olMailItem)
  
  With olMI
    .Body = Mail_Text
    .To = Empfänger
    .Subject = Betreff
    .Attachments.Add Source:=Anlage, _
                     Type:=olByValue
    .Send
  End With
  
  If olAktiviert Then
    olApp.Quit
  End If
  
  Set olMI = Nothing
  Set olApp = Nothing
End Sub

Wenn per VBA auf Outlook zugegriffen wird, erstellt Outlook einen Warnhinweis. In der beigefügten Arbeitsmappe habe ich im Blatt "Sicherheitseinstellung" beschrieben, wie du die diesen Hinweis vermeiden kannst.

https://www.herber.de/bbs/user/139851.xlsm

Viele Grüße
Dieter

Betrifft: AW: Aus Datenbank Mail versenden
von: Dieter Klemke
Geschrieben am: 26.08.2020 18:13:51

Ich habe vergessen, zu sagen, dass das Programm einen Verweis auf die Bibliothek "Microsoft Outlook.xx Object Libarary" benötigt. (VBA-Oberfläche | Extras | Verweise...)

Betrifft: AW: Aus Datenbank Mail versenden
von: Mareike
Geschrieben am: 27.08.2020 11:17:47

Lieber Dieter,
vielen Dank für deine schnelle Antwort.
Das Programm hat funktioniert und ich bin glücklich :)

Liebe Grüße,
Mareike

Beiträge aus dem Excel-Forum zum Thema "Aus Datenbank Mail versenden"