AW: Problem mit Makro die X'te
10.02.2007 20:49:47
fcs
Hallo Wolfgang,
das war jetzt doch fast etwas zuviel Gehirnjogging am Samsttag-Abend. Irgendwie past die Logik in der Workbook_Beforeclose-Prozedur nicht.
Meiner Meinung nach müßte sie wie folgt aussehen, damit die gewünschten Abläufe korrekt abgefragt bzw. kontrolliert werden. Die "_" mit Zeilenwechsel in einigen Zeilen hab ich nur eingefügt, damit der Thread-text nicht so breit wird. Sie stören im Code nicht, du kannst sie aber ggf. wieder rausnehmen.
Gruss
Franz
Private Sub Workbook_Beforeclose(Cancel As Boolean)
Dim Qe As Integer
'wird nur gesendet, wenn seit letztem Speichern Änderungen in Datei vorgenommen wurde
If MsgBox("Sollen die Kollegen über die Änderung informiert werden?", _
vbQuestion + vbYesNo + vbDefaultButton2, "Nachfrage") = vbYes Then
'MsgBox fragt nach ob Verteiler informiert werden soll
If ThisWorkbook.Saved Then
Dim MailDoc As Object, OutApp As Object
'Set OutApp = CreateObject("Notes.Application")'
Set LNSession = CreateObject("Notes.NotesSession")
Set LNDb = LNSession.GetDatabase("", "")
If LNDb.IsOpen <> True Then
LNDb.OPENMAIL
End If
Set MailDoc = LNDb.CREATEDOCUMENT
MailDoc.Form = "Memo"
MailDoc.Subject = "Meldung von Excel " & Date & " " & Time
MailDoc.Body = "Das Absprachen Dokument hat sich geändert." & vbCrLf & _
"Ihr findet das Dokument auf Laufwerk S" & vbCrLf & _
"S:\Engineering\ADM001 - Passenger Car Files."
MailDoc.send 0, Empfaenger 'siehe neue Funktion!!
Set LNSession = Nothing
Set LNDb = Nothing
Set MailDoc = Nothing
Else
MsgBox "Datei wurde noch nicht gespeichert! Schließen/Informieren wird abgebrochen!"
Cancel = True
End If
Else
'Änderungsmarkierungen löschen und nochmal speichern
Qe = MsgBox("Soll die Datei gespeichert werden ? ", vbQuestion + vbYesNo + vbDefaultButton2, _
"Speicherung durchführen ?")
If Qe = vbYes Then
With Sheets("Verteiler für Makro don't Touch")
If WorksheetFunction.CountA(.Range("D1:M1")) > 0 Then
.Range("D1:M1").ClearContents
ThisWorkbook.Save
End If
End With
Else
ThisWorkbook.Saved = True
End If
End If
End Sub