Thema Datum  Von Nutzer Rating
Antwort
21.07.2020 14:17:13 Hans
Solved
Blau Outlook Email aus bestimmten Zellen/Spalten Infos generieren
22.07.2020 00:44:12 Gast97774
Solved
22.07.2020 00:52:12 Gast91413
Solved
22.07.2020 09:05:43 Gast9600
Solved

Ansicht des Beitrags:
Von:
Gast97774
Datum:
22.07.2020 00:44:12
Views:
1500
Rating: Antwort:
 Nein
Thema:
Outlook Email aus bestimmten Zellen/Spalten Infos generieren

Hallo,

meine Empfehlung: organisiere dir ein Buch mit dem du die Grundzüge von VBA in Verbindung mit Excel lernen kannst.

Dieser Code kann eine Grundlage sein, um aus Excel heraus eine E-Mail in Outlook zu erstellen:

Sub MailMitOutlook()
'Beispiel E-Mail
Dim oApp As Object
Dim strSignatur As String

   Set oApp = CreateObject("OUTLOOK.Application")
   With oApp.CreateItem(0)    'neue E-Mail ohne Vorlage
   
'      'Signatur anzeigen + auslesen
'      .GetInspector.Display
'      strSignatur = .Body        '.HTMLBody       (bei HTML-Mails)
      
      .To = "An@example.com"
      .Cc = "CC@example.com"
      .Bcc = "bcc@example.com"
      
      .Subject = "das ist der Betreff"
      .Body = "Hallo," & vblf & "das ist der Reintext-body" & vbLf & strSignatur

      .Display    'Anzeigen
      '.Send       'Abschicken
   End With
   
End Sub

 

 

Hast du die Zeilennummer und die Spaltennummer einer Zelle (Spalte A hat die Nummer 1 und Spalte C die Nummer 3, ...), kannst du mit VBA auf den Zellinhalt zugreifen. Zum Beispiel hier für die Zelle A2:

sub beispiel_zellzugriff()
   dim Zeile as long
   dim Spalte as long
   Zeile = 2
   Spalte = 1
   msgbox cells(Zeile, Spalte).value
end sub

 

Mehrere Zeichenketten werden durch den Operator & miteinander verbunden. Zum Beispiel die Zelle A12 und B15:

sub beispiel_2()
   dim MeinText as string
   MeinText = Cells(12, 1).value & cells(15, 2).value
   msgbox MeinText

   MeinText = MeinText & vbcrlf & "Noch eine Zeile"
   msgbox MeinText
end sub

vbcrlf ist in VBA eine Konstante (eine Variable, deren Inhalt nicht geändert werden kann). Sie entspricht dem Zeilenumbruch unter Windows.

 

ok, machen wir eine E-Mail:

Empfänger steht in Spalte A
Betreff in Spalte B, dann ein Leerzeichen und dann Spalte C

Der Text der E-Mail soll folgender sein:

Hallo Lücke1,


das ist der Inhalt der Zelle D: Lücke2
und das der Inhalt der Zelle E: Lücke3.

Die Daten stammen alle aus Zeile Lücke4.

Viele Grüße,
Lücke5

 

Und los gehts:

Sub Mail_luecken()
'Beispiel Lückentext
Dim oApp As Object
dim strBody as string
dim Zeile as long

   Zeile = 2   'die Daten werden aus Zeile 2 genommen, das muss natürlich angepasst werden


   strBody = "Hallo Lücke1," & vbcrlf &  vbcrlf & "das ist der Inhalt der Zelle D: Lücke2" & vbcrlf & _
             "und das der Inhalt der Zelle E: Lücke3." & vbcrlf &  vbcrlf & _
             "Die Daten stammen alle aus Zeile Lücke4." & vbcrlf &  vbcrlf & _
             "Viele Grüße," & vbcrlf & "Lücke5"

   strBody = replace(strBody, "Lücke1", cells(Zeile, 1).value)  'ersetze Lücke1 durch Inhalt aus Spalte A
   strBody = replace(strBody, "Lücke2", cells(Zeile, 4).value)
   strBody = replace(strBody, "Lücke3", cells(Zeile, 5).value)
   strBody = replace(strBody, "Lücke4", Zeile)

   Set oApp = CreateObject("OUTLOOK.Application")
   With oApp.CreateItem(0)    'neue E-Mail ohne Vorlage

      .To = "An@example.com"
      .Cc = "CC@example.com"
      .Bcc = "bcc@example.com"
      
      .Subject = "das ist der Betreff"
      .Body = "Hallo," & vblf & "das ist der Reintext-body" & vbLf & strSignatur

      .Display    'Anzeigen
      '.Send       'Abschicken
   End With
   
End Sub

 


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
21.07.2020 14:17:13 Hans
Solved
Blau Outlook Email aus bestimmten Zellen/Spalten Infos generieren
22.07.2020 00:44:12 Gast97774
Solved
22.07.2020 00:52:12 Gast91413
Solved
22.07.2020 09:05:43 Gast9600
Solved