Note: The other languages of the website are Google-translated. Back to English

Wie sende ich eine E-Mail über Outlook, wenn die Arbeitsmappe in Excel gespeichert ist?

In diesem Artikel wird das Senden einer E-Mail über Outlook behandelt, wenn eine bestimmte Arbeitsmappe in Excel gespeichert wird. Bitte machen Sie, wie das Tutorial zeigt.

Senden Sie eine E-Mail über Outlook, wenn die Arbeitsmappe mit VBA-Code gespeichert wird


Senden Sie eine E-Mail über Outlook, wenn die Arbeitsmappe mit VBA-Code gespeichert wird

Gehen Sie wie folgt vor, um eine E-Mail über Outlook zu senden, wenn die Arbeitsmappe in Excel gespeichert ist.

1. Bitte speichern Sie die Arbeitsmappe zunächst als Excel Macro-Enabled Workbook. Klicken Reichen Sie das > Speichern unter. In dem Speichern unter Wählen Sie im Dialogfeld einen Ordner zum Speichern der Arbeitsmappe aus, benennen Sie ihn im Feld Dateiname und wählen Sie Excel Makroaktivierte Arbeitsmappe von dem Speichern als Typ Dropdown-Liste, und klicken Sie dann auf Sie sparen Taste. Siehe Screenshot:

2. Öffnen Sie die Excel Macro-Enabled Workbook, die Sie gerade gespeichert haben, und drücken Sie die Taste Andere + F11 Tasten gleichzeitig zum Öffnen der Microsoft Visual Basic für Applikationen Fenster.

2. In dem Microsoft Visual Basic für Applikationen Fenster, bitte doppelklicken DiesesWorkbook Kopieren Sie dann in der linken Leiste den folgenden VBA-Code und fügen Sie ihn in die ein DiesesWorkbook Codefenster. Siehe Screenshot:

VBA-Code: Senden Sie eine E-Mail, wenn die Arbeitsmappe gespeichert wird

Private Sub Workbook_AfterSave(ByVal Success As Boolean)
'Updated by Extendoffice 20181102
    Dim xOutApp As Object
    Dim xMailItem As Object
    Dim xName As String
    On Error Resume Next
    Set xOutApp = CreateObject("Outlook.Application")
    Set xMailItem = xOutApp.CreateItem(0)
    xName = ActiveWorkbook.FullName
    With xMailItem
        .To = "Email Address"
        .CC = ""
        .Subject = "The workbook has been saved"
        .Body = "Hi," & Chr(13) & Chr(13) & "File is now updated."
        .Attachments.Add xName
        .Display
       '.send
    End With
    Set xMailItem = Nothing
    Set xOutApp = Nothing
End Sub

Hinweis: Bitte ersetzen Sie die E-Mail-Adresse mit der E-Mail-Adresse des Empfängers in der Zeile .To = "E-Mail-Adresse" und Ändern Sie die Felder Cc, Subject und body im VBA-Code nach Bedarf.

3. Drücken Sie die Taste Andere + Q Tasten gleichzeitig zum Schließen der Microsoft Visual Basic für Applikationen Fenster.

Wenn Sie die Arbeitsmappe von nun an aktualisieren und speichern, wird automatisch eine E-Mail mit angehängter aktualisierter Arbeitsmappe erstellt. Bitte klicken Sie auf Senden Schaltfläche zum Senden der E-Mail. Siehe Screenshot:

Hinweis: Der VBA-Code funktioniert nur, wenn Sie Outlook als E-Mail-Programm verwenden.


In Verbindung stehende Artikel:


Die besten Tools für die Office-Produktivität

Kutools for Excel löst die meisten Ihrer Probleme und erhöht Ihre Produktivität um 80%

  • Wiederverwendung: Schnell einfügen komplexe Formeln, Diagramme und alles, was du vorher benutzt hast; Zellen verschlüsseln mit Passwort; Mailingliste erstellen und E-Mails senden ...
  • Super Formelriegel (leicht mehrere Textzeilen und Formeln bearbeiten); Layout lesen (leichtes Lesen und Bearbeiten einer großen Anzahl von Zellen); In gefilterten Bereich einfügen...
  • Zellen / Zeilen / Spalten zusammenführen ohne Daten zu verlieren; Inhalt geteilter Zellen; Kombinieren Sie doppelte Zeilen / Spalten... doppelte Zellen verhindern; Bereiche vergleichen...
  • Wählen Sie Duplizieren oder Eindeutig Reihen; Wählen Sie Leere Zeilen (alle Zellen sind leer); Super Find und Fuzzy Find in vielen Arbeitsmappen; Zufällige Auswahl ...
  • Exakte Kopie Mehrere Zellen ohne Änderung der Formelreferenz; Referenzen automatisch erstellen zu mehreren Blättern; Aufzählungszeichen einfügen, Kontrollkästchen und mehr ...
  • Text extrahieren, Text hinzufügen, Nach Position entfernen, Leerzeichen entfernen;; Paging-Zwischensummen erstellen und drucken; Inhalt und Kommentare zwischen Zellen konvertieren...
  • Superfilter (Speichern und Anwenden von Filterschemata auf andere Blätter); Erweiterte Sortierung nach Monat / Woche / Tag, Häufigkeit und mehr; Spezialfilter fett, kursiv ...
  • Kombinieren Sie Arbeitsmappen und Arbeitsblätter;; Tabellen basierend auf Schlüsselspalten zusammenführen; Daten in mehrere Blätter aufteilen; Batch-Konvertierung von xls, xlsx und PDF...
  • Mehr als 300 leistungsstarke Funktionen. Unterstützt Office / Excel 2007-2021 und 365. Unterstützt alle Sprachen. Einfache Bereitstellung in Ihrem Unternehmen oder Ihrer Organisation. 30-tägige kostenlose Testversion mit allen Funktionen. 60 Tage Geld-zurück-Garantie.
kte tab 201905

Office Tab Bringt die Oberfläche mit Registerkarten in Office und erleichtert Ihnen die Arbeit erheblich

  • Aktivieren Sie das Bearbeiten und Lesen von Registerkarten in Word, Excel und PowerPoint, Publisher, Access, Visio und Project.
  • Öffnen und erstellen Sie mehrere Dokumente in neuen Registerkarten desselben Fensters und nicht in neuen Fenstern.
  • Steigert Ihre Produktivität um 50 % und reduziert jeden Tag Hunderte von Mausklicks für Sie!
officetab unten
Kommentare (17)
Noch keine Bewertungen. Bewerten Sie als Erster!
Dieser Kommentar wurde vom Moderator auf der Website minimiert
So automatisieren Sie die E-Mail-Benachrichtigung in VBA basierend auf dem Datumsbereich, ohne dass das Popup für die Sicherheitsberechtigung angezeigt werden muss, damit VBA die E-Mail senden kann.
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Gracias. Consulta: utilizando esta misma rutina, como podría enviar el correo a un correo específicodependiendo el valor de otra celda?
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Sehr geehrte Damen und Herren, ich möchte fragen, wie man einen funktionalen Link an einen bestimmten Ordner auf dem Server anhängt. Wenn ich den Link einfüge, wird er in der Arbeitsmappe wie einfacher Text angezeigt und funktioniert daher nicht in empfangenen E-Mails. Wie kann ich das tun? in einen Link umwandeln, damit die Empfänger darauf klicken können?
Ich möchte diesen Weg verwenden, anstatt die beigefügte Excel-Datei zu senden.
Danke für den Rat
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Hallo Robert,
Tut mir leid, dass ich Ihnen dabei nicht helfen kann. Bitte stellen Sie Fragen zu Excel in unserem Forum: https://www.extendoffice.com/forum.html. Weitere Excel-Unterstützung erhalten Sie von unseren Profis oder anderen Excel-Fans.
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Ich habe das in den Text der E-Mail eingefügt und es hat bei mir funktioniert ...
"Datei:///Z:\dir1\dir2\dir3\Test1.xlsm"
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Hallo, schöner Artikel! Eine Sache, die ich damit zu erreichen versucht habe, ist, den aktuellen Status der Arbeitsmappe an die E-Mail anzuhängen.

Im Moment sendet es nur den Originalzustand der Datei und enthält keine Änderungen, die der Benutzer vorgenommen hätte.

Irgendwelche Ideen, wie man dies mit einem Makro implementiert?
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Hallo Chris,
Der Code wurde mit dem gelösten Problem aktualisiert, bitte versuchen Sie es. Danke für deinen Kommentar.
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Hallo Chris,

Ich bin zufällig auf das gleiche Problem gestoßen.
Derzeit werden die Codes im Modul "beforeave" verwendet.
Das bedeutet, dass die E-Mail die zuvor gespeicherte Tabelle sendet.

Es gibt ein weiteres Modul "aftersave".
Ich habe den Code in diesem Modul angewendet und es hat wunderbar funktioniert.
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Wie würde dies für ein Office 365-Dokument gehandhabt werden? Es wird automatisch gespeichert.
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Gibt es eine Möglichkeit, die automatisierte E-Mail automatisch zu verschlüsseln?
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Hallo Mike,
Tut mir leid, kann nicht helfen, dieses Problem zu lösen. Danke für deinen Kommentar.
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Hi! Vielen Dank für diese Richtlinie :-) Ich würde gerne etwas mehr in diesem Code tun - senden Sie eine E-Mail basierend auf den Ländern. Das bedeutet, dass ich Befehle mit if und select erstellen muss. Recht? Ich habe den Anhang bereits aus der E-Mail gelöscht. Ich möchte stattdessen den Link mit dem Pfad in den Ordner einfügen. Aber wenn das Makro ausgeführt wird, ist der Befehl nicht gültig :-(
Ich freue mich über jede Hilfe, wie man es dort hinzufügt.
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Hallo - Wie kann ich Zellendaten in das E-Mail-Feld "cc" einfügen?
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Hallo Brent,
Angenommen, Sie möchten den Wert in Zelle a7 in das E-Mail-Feld "cc" einfügen, versuchen Sie bitte die folgende VBA.

Private Sub Workbook_AfterSave (ByVal Success As Boolean)

'Aktualisiert von Extendoffice 20200628

Dim xOutApp als Objekt

Dim xMailItem als Objekt

Dim xName als Zeichenfolge

On Error Resume Next

Set xOutApp = CreateObject("Outlook.Application")

Setze xMailItem = xOutApp.CreateItem(0)

xName = ActiveWorkbook.VollständigerName

Mit xMailItem

.To = "E-Mail-Adresse"

.CC = Bereich("a7").Wert


.Subject = "Die Arbeitsmappe wurde gespeichert"

.Body = "Hi," & Chr(13) & Chr(13) & "Datei ist jetzt aktualisiert."

.Anhänge.XName hinzufügen

.Anzeige

'.schicken

Ende mit

Setze xMailItem = nichts

Setze xOutApp = nichts

End Sub
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Sehr geehrte Damen und Herren, kann mir jemand helfen, ich bin ein Neuling in der VBA-Codierung, ich habe einige Änderungen vorgenommen, aber wie kann ich eine E-Mail senden, wenn die Arbeitsmappe gespeichert ist und der Benutzername anders ist, z. B. der Benutzername von Die Station ist Glade2, dann E-Mail senden, wenn die Arbeitsmappe gespeichert ist, sonst nicht senden.

Vielen dank für Ihre Hilfe
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Hallo florin,
Habe deinen Punkt nicht verstanden. Wofür steht Ihr Benutzername?
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Hallo Crystal, danke für deine Antwort, usernane ist Enviroment usernane, und ich habe es getan, ich habe eine if-Funktion und Exit-Sub verwendet.
Vielen Dank.
Es sind noch keine Kommentare vorhanden
Hinterlassen Sie Ihre Kommentare
Als Gast posten
×
Bewerte diese Nachricht:
0   Figuren
Vorgeschlagene Standorte

Folgen Sie uns

Copyright © 2009 - www.extendoffice.com. | Alle Rechte vorbehalten. Unterstützt von ExtendOffice. | Sitemap
Microsoft und das Office-Logo sind Marken oder eingetragene Marken der Microsoft Corporation in den USA und / oder anderen Ländern.
Geschützt durch Sectigo SSL