AW: Frage: Prüfen, ob externe Datei geändert wurde
08.09.2015 09:43:02
fcs
Hallo Christian,
das könntest du z.B. mit per OnTime gestartetem Makro in den Sekundär-Dateien umseten. Dieses Makro ruft sich in regelmäßigen Abständen immer wieder neu auf. Und fragt das Speicherdatum/Zeit ab.
Altes und neues Speicherdatum (in meinem Beispiel in A2 und B2 vergleichst du dann per Formel/bedingter Formatierung, um einen Hinweis zu anzuzeigen.
Gruß
Franz
'Makros in einem allgemeinen Modul der Sekundär-Dateien
Option Explicit
Public datNextStart As Date
Sub prcOnTimeStart()
Call prcOnTimeMakro
End Sub
Sub prcOnTimeStop()
On Error Resume Next
Application.OnTime EarliestTime:=datNextStart, Procedure:="prcOnTimeMakro", schedule:=False
End Sub
Sub prcOnTimeMakro()
'der nachfolgende Teil muss individuell angepasst werden
Dim oldValue As Date
Dim NewDate As Date
With ThisWorkbook.Worksheets(1) 'Nr./Tabellenname anpassen
oldValue = .Range("A2").Value
NewDate = VBA.FileDateTime(Pathname:="Y:\Test\Masterdatei.xlsx")
If NewDate > oldValue Then
.Range("B2").Value = NewDate
End If
End With
datNextStart = Now + TimeSerial(Hour:=0, Minute:=0, Second:=30) 'minwert = 1 Sekunde
Application.OnTime EarliestTime:=datNextStart, Procedure:="prcOnTimeMakro"
End Sub
Sub prcResetOlddate()
'Dieses Makro ausführen im das Vergleichsdatum neu zu setzen
With ThisWorkbook.Worksheets(1) 'Nr./Tabellenname anpassen
.Range("A2").Value = Now
End With
End Sub
'Die folgenden beiden Makros einfügen unter "DieseArbeitsmapee" / "ThisWorkbook der Dekundä _
rdateien
'Beendet vor dem Schließen der Datei die Ausführung des OnTime-Makros
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Call prcOnTimeStop
End Sub
'Startet beim Öffnen der Datei automatisch die Ausführung des OnTime-Makros
Private Sub Workbook_Open()
Call prcOnTimeStart
End Sub