Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Frage: Prüfen, ob externe Datei geändert wurde

Frage: Prüfen, ob externe Datei geändert wurde
08.09.2015 08:27:03
Christian
Guten Morgen zusammen.
Im Netzwerk können verschiedene Leute (immer nur einer auf einmal) eine Master-Exceldatei bearbeiten.
Es haben aber alle Nutzer eine lokale Sekundär-Exceldatei geöffnet.
Nun bin ich auf der Suche nach einem Makro, welches prüft, ob die Master-Exceldatei von jemandem geändert wurde (NICHT nur geöffnet, sondern auch geändert und gespeichert!).
Sollte dass der Fall sein, müsste in der Sekundär-Exceldatei in einer Zelle ein Text wie "Masterdatei geändert, bitte prüfen" angezeigt werden.
Hat jemand eine Idee?
Gruß
Christian

Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
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

Anzeige
AW: Frage: Prüfen, ob externe Datei geändert wurde
08.09.2015 13:17:33
Christian
Hallo Franz, hallo Martin,
ich schau mir dass nun an. Vielen Dank eich beiden!

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige