Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1952to1956
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Mail bei Dateiänderung VBA

Mail bei Dateiänderung VBA
20.11.2023 16:19:08
Büromensch
Hallo zusammen,

ich habe diesen Code gefunden:

Private Sub Worksheet_Change(ByVal Target As Range)

Dim xOutApp As Object
Dim xMailItem As Object
Dim xName As String
Dim xYesOrNo As Integer
On Error Resume Next
Set xOutApp = CreateObject("Outlook.Application")
Set xMailItem = xOutApp.CreateItem(0)
xYesOrNo = MsgBox("Want to attach updated workbook in email?", vbInformation + vbYesNo, "KuTools For Excel")
If xYesOrNo = 6 Then ActiveWorkbook.Save
If xYesOrNo = 6 Then xName = ActiveWorkbook.FullName
With xMailItem
.To = "Email Address"
.cc = ""
.Subject = "email notification test"
.Body = "Hi," & Chr(13) & Chr(13) & "File is now updated."
If xYesOrNo = 6 Then .Attachments.Add xName
.Display
End With
xMailItem = Nothing
xOutApp = Nothing
End Sub


Ist es möglich, diesen zu erweitern, so dass in der Mail steht, was in welcher Zelle geschrieben wurde? (Es geht immer um die Zellen A, B und C 14 und der Inhalt wird immer eine Uhrzeit).

Bin für jede Hilfe dankbar :)

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Mail bei Dateiänderung VBA
20.11.2023 17:31:48
ralf_b
Hallo Büromensch,

finde einen Code, der schon Tabelleninhalte in Mailbody einbaut. Das dürfte doch kein Problem sein.
AW: Mail bei Dateiänderung VBA
23.11.2023 06:38:12
Büromensch
Moin,

ja da hätte ich auch selbst drauf kommen können, manchmal braucht man den Input von außen :) danke dafür.

Ich habe den Code jetzt soweit für mich passend gebastelt (ob es noch optimierter, bzw kürzer geht, weiß ich nicht):
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)

Dim xOutApp As Object
Dim xMailItem As Object
Dim xPicture As PictureFormat
On Error Resume Next
Set xOutApp = CreateObject("Outlook.Application")
Set xMailItem = xOutApp.CreateItem(0)
With xMailItem
.To = "mailadresse"
.cc = "mailadresse"
.Subject = "Bau-Liste aktualisiert"
.Body = "Hallo," & Chr(13) & "hier kommt Text rein" & vbLf & vbLf & Range("A2").Value & Space(3) & Range("A5").Value & Chr(13) & Chr(13) & Range("B2").Value & Space(3) & Range("B5").Value & Chr(13) & Chr(13) & Range("C2").Value & Space(3) & Range("C5").Value & Chr(13) & Chr(13) & Format(Now, "HH:MM:SS") & Space(3) & Application.UserName
.Display
End With
xMailItem = Nothing
xOutApp = Nothing
End Sub


Was ich noch interessant fände ist, ob ein Umbau bzw. Erweiterung dahingehend möglich ist, dass die Datei nur gespeichert werden kann, wenn die Mail verschickt wird? Dazu habe ich leider in den Weiten des Internets nichts passendes gefunden.
Anzeige
AW: Mail bei Dateiänderung VBA
23.11.2023 10:40:01
Büromensch
Ich ersetze sonst einfach
.Display
durch
.Send
damit das im Hintergrund automatisch läuft :)
AW: Mail bei Dateiänderung VBA
23.11.2023 13:46:35
Büromensch
Eines hätte ich doch noch.

Ist es möglich, den Code so zu erweitern, dass der Inhalt der geänderten Zelle/Zellen in der Mail rot ist?

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige