Live-Forum - Die aktuellen Beiträge
Datum
Titel
17.10.2025 10:28:49
16.10.2025 17:40:39
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Excel Zwischenablage per VBA in Outlook Textfeld

Excel Zwischenablage per VBA in Outlook Textfeld
18.08.2005 08:04:20
TOM
Guten Morgen zusammen
Ich möchte gerne die Excel-Zwischenablage per VBA in das Outlook Textfeld einfügen und versenden.
Hat mir jemand einen Codeansatz?
Besten Dank für einen Tip
Gruss
TOM
Anzeige

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Excel Zwischenablage per VBA in Outlook Textfe
18.08.2005 09:55:29
Ramses
Hallo
was meinst du mit "Outlook Textfeld" ?
Gruss Rainer
AW: Excel Zwischenablage per VBA in Outlook Textfe
18.08.2005 10:59:02
TOM
Hallo Rainer
Ich meine das Feld wo Text geschrieben wird siehe:
Userbild
Gruss
TOM
AW: Excel Zwischenablage per VBA in Outlook Textfe
18.08.2005 11:43:33
Ramses
Hallo
Bin ich Hellseher ?
Das ist der "Body" (nach Nomenklatur)
An, CC und BCC sind eben auch Textfelder
Schau mal hier vorbei
http://www.office.gmxhome.de/_excel_outlook.htm#Serienmail_ohne_Attachment
Das ist ein komplettes Beispiel
Gruss Rainer
Anzeige
AW: Excel Zwischenablage per VBA in Outlook Textfe
18.08.2005 11:52:47
TOM
Hallo Rainer
Nein natürlich bist Du kein Hellseher aber ich wusste nicht wie man dem Feld sagt....Sorry.
Besten Dank für Deinen Tip ich werde es ausprobieren.
Guten Appetit und Gruss
TOM
AW: Excel Zwischenablage per VBA in Outlook Textfe
18.08.2005 13:44:03
TOM
Hallo Rainer
Ich habe die Beispiele angeschaut aber leider geht das mit der Excel-Zwischenablage einfügen im Outlook nicht. Habe etwas probiert aber eben....

Sub Excel_Serienmail_via_Outlook_Senden()
Dim OutApp As Object, Mail As Object
Dim i As Integer, rngBereich As Range
Dim Nachricht
Set OutApp = CreateObject("Outlook.Application")
Set Nachricht = OutApp.CreateItem(0)
Set rngBereich = Range("A4:H5")
rngBereich.Copy
With Nachricht
.To = Cells(2, 1) 'Adresse
.Subject = Cells(2, 3) 'Betreffzeile
.Body = rngBereich.PasteSpecial(xlAll)
'Cells(2, 4) & vbCr & vbCr & strBereich _
'& vbCr & vbCr & Cells(2, 5) 'Sendetext
.Display
SendKeys "%s", True
'.Send
End With
'Variablen zurücksetzen sonst geht es nicht
Set OutApp = Nothing 'CreateObject("Outlook.Application")
Set Nachricht = Nothing 'OutApp.CreateItem(0)
End Sub

Gruss
TOM
Anzeige
AW: Excel Zwischenablage per VBA in Outlook Textfe
TOM
Habe nochmals gehackt aber ich komme einfach nicht weiter....
Wäre sehr froh wenn mir da jemand helfen könnte!!!!!
Excel-Zwischenablage einfügen im Outlook-Mail Body nicht. Habe etwas probiert aber eben....

Sub Excel_Serienmail_via_Outlook_Senden()
Dim OutApp As Object, Mail As Object
Dim i As Integer, rngBereich As Range
Dim Nachricht
Set OutApp = CreateObject("Outlook.Application")
Set Nachricht = OutApp.CreateItem(0)
Set rngBereich = Range("A4:H5")
rngBereich.Copy
With Nachricht
.To = Cells(2, 1) 'Adresse
.Subject = Cells(2, 3) 'Betreffzeile
.Body = rngBereich.PasteSpecial(xlAll)
'Cells(2, 4) & vbCr & vbCr & strBereich _
'& vbCr & vbCr & Cells(2, 5) 'Sendetext
.Display
SendKeys "%s", True
'.Send
End With
'Variablen zurücksetzen sonst geht es nicht
Set OutApp = Nothing 'CreateObject("Outlook.Application")
Set Nachricht = Nothing 'OutApp.CreateItem(0)
End Sub

Gruss
TOM
Anzeige
AW: Excel Zwischenablage per VBA in Outlook Textfe
19.08.2005 13:59:49
Ramses
Hallo
um die zwischenablage zu versenden musst du folgenden Code verwenden
Sub Send_Message_via_Clipboard()
    Dim myOutApp As Object, myMessage As Object
    'Verweis auf "Microsoft Forms 2.0 Object Library" (..\system32\FM20.DLL) aktivieren !!
    'sonst geht es nicht
    'Dataobject wird gebraucht wegen der Zwischenablage
    Dim myClpObj As DataObject
    Set myClpObj = New DataObject
    Set myOutApp = CreateObject("Outlook.Application")
    Set myMessage = myOutApp.CreateItem(0)
    With myMessage
        .To = "irgendwer@irgendein-provider.de"
        .Subject = "Betreffzeile Header"
        'Zwischenablage wird eingefügt
        myClpObj.GetFromClipboard
        .body = myClpObj.GetText(1)
        'Hier wird die Mail angezeigt
        .Display
        'Hier wird die Mail gleich in den Postausgang gelegt
        '.Send
    End With
    Set myOutApp = Nothing
    Set myMessage = Nothing
End Sub

Du musst das entsprechenden natürlich vorher manuell kopieren
Gruss Rainer
Anzeige
AW: Excel Zwischenablage per VBA in Outlook Textfe
19.08.2005 14:37:24
TOM
Hallo Rainer
Besten Dank für Deine schnelle Hilfe, es hat funktioniert.
Noch eine Frage: Wenn ich in Excel mit Ctrl+C einen Bereich in die Zwischenablage kopiere dann kann ich das mit allen Farben und Formatierungen in Outlook wieder einfügen. Ist das per VBA nicht möglich:
Userbild
Besten Dank
Gruss
TOM
Anzeige
Letzte Antwort...
19.08.2005 14:48:16
Ramses
Hallo
Das ganze hätten wir uns sparen können, wenn du das von Anfang gesagt hättest.
Das ist mein letzter Beitrag
Sub Send_OriginalRange_from_Excel()
    'Getestet unter Office XP
    'Ohne Select geht es nicht :-))
    Range("b15:i25").Select
    'Das anzeigen der Envelope Commandbar ist unabdingbar
    ActiveWorkbook.EnvelopeVisible = True
    'Nun werden die Adressen vergeben
    With ActiveSheet.MailEnvelope
        .Introduction = "Das ist der Einleitungstext." & vbCrLf & "mit einer zweiten Zeile"
        .Item.To = "irgendwer@irgendwo.de"
        .Item.Subject = "Die aktuellen Daten"
        .Item.Send
    End With
End Sub

Gruss Rainer
Anzeige
AW: Letzte Antwort...
19.08.2005 15:14:01
TOM
Hallo Rainer
Bitte tausendmal um Entschuldigung, das wollte ich nicht!!
Das es so einfach geht hatte ich nicht gewusst. In meiner Unwissenheit verfolgte ich den komplizierteren Weg dabei geht es ja viel einfacher.
Vielen herzlichen Dank für Deine Mühe und ich hoffe, dass Du mir wieder mal hilfst.
Besten Dank und nichts für Ungut
Gruss
TOM
Anzeige
;

Forumthreads zu verwandten Themen

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

Excel Zwischenablage per VBA in Outlook Textfeld


Schritt-für-Schritt-Anleitung

Um die Excel-Zwischenablage per VBA in das Outlook Textfeld einzufügen, kannst Du folgenden Code verwenden:

Sub Send_Message_via_Clipboard()
    Dim myOutApp As Object, myMessage As Object
    Dim myClpObj As DataObject

    ' Verweis auf "Microsoft Forms 2.0 Object Library" aktivieren
    Set myClpObj = New DataObject
    Set myOutApp = CreateObject("Outlook.Application")
    Set myMessage = myOutApp.CreateItem(0)

    With myMessage
        .To = "irgendwer@irgendein-provider.de"
        .Subject = "Betreffzeile Header"

        ' Zwischenablage wird eingefügt
        myClpObj.GetFromClipboard
        .Body = myClpObj.GetText(1)

        ' Hier wird die Mail angezeigt
        .Display
        ' .Send für sofortiges Senden
    End With

    Set myOutApp = Nothing
    Set myMessage = Nothing
End Sub

Stelle sicher, dass Du die Daten in Excel zuerst in die Zwischenablage kopierst, bevor Du das Skript ausführst.


Häufige Fehler und Lösungen

  1. Problem: Der Code gibt einen Fehler aus, wenn er die Zwischenablage abruft. Lösung: Überprüfe, ob der Verweis auf "Microsoft Forms 2.0 Object Library" im VBA-Editor aktiviert ist.

  2. Problem: Der Body des E-Mails bleibt leer. Lösung: Stelle sicher, dass Du korrekt in Excel einen Bereich kopiert hast, bevor Du das Skript ausführst.


Alternative Methoden

Eine alternative Methode ist, die Excel-Daten direkt zu importieren, ohne die Zwischenablage zu verwenden. Du kannst die Daten aus einem bestimmten Bereich direkt in den Body der E-Mail einfügen:

Sub Send_OriginalRange_from_Excel()
    Range("B15:I25").Select
    ActiveWorkbook.EnvelopeVisible = True

    With ActiveSheet.MailEnvelope
        .Introduction = "Das ist der Einleitungstext." & vbCrLf & "mit einer zweiten Zeile"
        .Item.To = "irgendwer@irgendwo.de"
        .Item.Subject = "Die aktuellen Daten"
        .Item.Send
    End With
End Sub

Praktische Beispiele

Hier sind einige praktische Beispiele zur Verwendung der Excel-Zwischenablage in Outlook:

  1. E-Mail mit formatierten Excel-Daten: Du kannst Excel-Tabellen mit Farben und Formatierungen direkt in Outlook einfügen, indem Du die Daten zuerst kopierst und dann mit dem VBA-Skript in Outlook einfügst.

  2. E-Mail-Benachrichtigungen automatisieren: Verwende VBA, um regelmäßig Excel-Daten in E-Mails zu versenden, z.B. wöchentliche Berichte oder Benachrichtigungen.


Tipps für Profis

  • Nutze SendKeys, um die E-Mail automatisch zu senden, anstatt sie nur anzuzeigen. Sei jedoch vorsichtig, da dies manchmal unerwartetes Verhalten verursachen kann.

  • Experimentiere mit dem HTMLBody anstelle von Body, um formatierte E-Mails zu erstellen, die z.B. Tabellen enthalten.


FAQ: Häufige Fragen

1. Wie kann ich Excel-Daten aus der Zwischenablage importieren?
Du kannst die Daten in Excel kopieren und dann ein VBA-Skript verwenden, um die Zwischenablage in Outlook einzufügen.

2. Ist es möglich, die Zwischenablage direkt in Outlook zu verwenden?
Ja, Du kannst die Zwischenablage verwenden, um Daten per VBA in Outlook einzufügen, indem Du die DataObject-Klasse nutzt.

3. Welche Excel-Version wird benötigt?
Die gezeigten Beispiele funktionieren unter Office XP und späteren Versionen. Stelle sicher, dass Du die entsprechenden Bibliotheken aktiviert hast.

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