utroger
Goto Top

Automatisch eine E-Mail versenden wenn in einer Exceldatei Änderungen vorgenommen worden sind

Vorweg, wir arbeiten mit Excel 07 und Outlook 07 und im Moment noch mit Win XP

folgendes Problem, es existiert bei uns eine Exceldatei in der alle Daten enthalten sind für neu anlaufende Projekte. Nun soll mit dieser Datei eine fortlaufende Dokumentation erfolgen. Diese fortlaufende Dokumentation wird von mehreren Anwendern bearbeitet. Jetzt ist es sinnvoll einen E-Mailverteilerkreis zu informieren wenn eine Änderung in dieser Datei erfolgt ist. Denn es sind durch die Änderung zwangsläufig weitere Dokumentationen erforderlich. Eigentlich sollte dann von demjenigen Anwender eine E-Mail an alle anderen Anwender erfolgen das er eine Änderung vorgenommen hat. Leider funktioniert das nicht 100% weil manche es einfach vergessen zu informieren. Ich will jetzt erreichen das jeder automatisch informiert wird wenn eine Änderung erfolgt ist. Also nicht über ein click wenn eine Änderung erfolgt ist (das es bestimmt wieder vergessen wird zu clicken) sondern sobald die Datei gespeichert wird und eine Änderung erfolgt ist soll automatisch ein E-Mailverteilerkreis informiert werden.

Toll wäre es wenn in dieser E-Mail die Zeilennummern erscheinen würde wo die Änderungen vorgenommen worden sind bzw. nur wenn möglich die entsprechenden Zellen.

Hoffe es ist verständlich was mein Problem betrifft und es gibt eine Möglichkeit meinen Wunsch umzusetzen.

Danke für Rückinfo
Gruß utroger

Content-Key: 181541

Url: https://administrator.de/contentid/181541

Printed on: April 19, 2024 at 22:04 o'clock

Member: freakms
freakms Mar 07, 2012 at 08:39:33 (UTC)
Goto Top
Hi,

bin ebenfalls auf der Suche nach so einer Möglichkeit, habe leider noch nichts gefunden... Ist auch etwas schwierig, da dieses Tool dann ja quasi die Dateien und Inkrementellen Änderungen überwachen müsste. Ich bin mir nicht sicher, vllt kann robocopy so etwas?!

Was vielleicht noch funktioniert:

Einen Button in der Exceldatei bauen, der eine Sendto funktion beinhaltet und dann manuell die Email rausschicken, text kann man bei Mailto vordefinieren und die Empfänger auch. Wäre jetzt ne adhoc Lösung....
Member: utroger
utroger Mar 07, 2012 at 11:59:40 (UTC)
Goto Top
Hallo,

Denke hier nicht ein ein Tool sondern an einen Code in Excel07 der mit das Ganze ermöglicht.
Leider reichen meine Kenntnisse nicht um so etwas selbst zu erstellen.
Also es ist nicht unbedingt erforderlich das Zellennummern oder sogar Zellen mit in der E-Mail ausgegeben werden was aber von Vorteil wäre.
Wichtig ist es für mich, das bei einer Änderung eine E-Mail an die entsprechenden Anwender automatisch versendet wird ohne einen Buttom oder sonstiges zu drücken/clicken.
Eventuell noch mit einem sich öffnenden Fenster wo der Anwender dann selbst einen kurzen Hinweis eingeben muss was geändert worden ist, somit ist die Option mit der Zeilennummer oder Zelle dann hinfällig.

aber Danke für deine Antwort
und weiter in der Hoffnung das man soetwas in einem Code umsetzen kann
Gruß utroger
Member: freakms
freakms Mar 07, 2012 at 12:06:22 (UTC)
Goto Top
Bin grad noch auf der Arbeit hab da aber ne Idee melde mich heute Abend nochmal!
Member: utroger
utroger Mar 07, 2012 at 12:24:06 (UTC)
Goto Top
hi,

habe mir etwas gebastelt aus einem Beispiel, leider funktioniert das wiederum nur mit Makro das ich ausführen muss.

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Call senden2
End Sub

Code:

Sub senden2()

Set olAppication = CreateObject("Outlook.Application")
Set objEMail = olAppication.CreateItem(olMailItem)
Application.Wait Now + TimeSerial(0, 0, 5)
With objEMail
.To = "E-Mailadresse"
.Subject = "Freigabematrix wurde aktualsiert"
.Body = " Freigabematrix wurde aktualsiert, bitte erforderliche Details nachtragen"
.Display
End With
SendKeys "%s", True
SendKeys "^{ENTER}", True

Set objEMail = Nothing
End Sub


So in der Art sollte das funktionieren, und automatisch versendet werden, wenn möglich das die E-Mail sich öffnet und weitere Details vor dem versenden von dem jeweiligen Anwender angegeben werden können.

Gruß
utroger
Member: clSchak
clSchak Mar 07, 2012 at 19:11:56 (UTC)
Goto Top
Verwende doch SharepointService 3.0 oder Sharepoint Foundation, dann kannst auch eine Versionierung einschalten und jeder kann sich selbst in den Verteiler adden um über Änderungen informiert zu werden.
Member: utroger
utroger Mar 08, 2012 at 06:37:06 (UTC)
Goto Top
hi clSchak,

deine Version kann ich nicht umsetzen da dies bei uns nicht gewünscht ist.
Es soll ganz einfach ein Code in Excel sein mehr nicht der sich automatisch ausführt.

Gruß utroger
Member: utroger
utroger Mar 08, 2012 at 08:07:58 (UTC)
Goto Top
Habe es selbst lösen können.
Dieser Code funktioniert wenn dieser in die Arbeitsmappe eingetragen wird. Also wenn gespeichert wird automatisch eine Email versendet. Will man das E-Mail vor dem Versenden noch bearbeiten lässt man die SendKeys Befehle weg.
Also Wichtig ist es den Code in "diese Arbeitsmappe" eintragen. Sonst klappt es nicht.


Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Call senden2
End Sub

Code:

Sub senden2()

Set olAppication = CreateObject("Outlook.Application")
Set objEMail = olAppication.CreateItem(olMailItem)
Application.Wait Now + TimeSerial(0, 0, 5)
With objEMail
.To = "E-Mailadresse" 'E-Mail Adresse des Empfängers eintragen'
.Subject = "Text blabla" 'der Text der in der Betreffzeile in der E-Mail stehen soll'
.Body = " Text blablabla" 'der Text im E-Mailtext erscheinen soll'
.Display
End With
SendKeys "%s", True
SendKeys "^{ENTER}", True

Set objEMail = Nothing
End Sub


Trotzdem Danke noch mal an alle
Gruß utroger
Member: Hesinev
Hesinev Aug 14, 2015 at 14:03:38 (UTC)
Goto Top
Hallo,

ich brauche jetzt genau die selbe Lösung. Bei mir funktioniert aber der Code nicht.
Wenn ich etwas in der Excel Datei ändere und die danach speichere, bekomme ich keine email.
Was mache ich falsch?