Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1656to1660
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

Versionsabfrage der aktuell geöffneten Datei

Versionsabfrage der aktuell geöffneten Datei
22.11.2018 08:02:05
Matthias
Hallo Community,
aktuell arbeite ich an einer Excel-Datei, welche sich im späteren Verlauf des öfteren aktualisieren kann.
Mein Gedanke hierzu war es, eine Version zu definieren.
Im Klartext:
Die erste Datei hat z.B. Version 1.0. Im weiteren Verlauf der Aktualisierung wird die Version 1.0 erhöht.
Was ich erreichen möchte:
Ich möchte jene Version der aktuell geöffneten Datei abfragen und mit der aktuellsten (wird global abgelegt sein) vergleichen. Wenn ein Unterschied zu den Versionen besteht, dann soll eine Meldung erscheinen.
Das ganze würde ich gerne in VBA umsetzen, möglichst ohne öffnen der globalen aktuellen Datei bzw. so, dass es der Benutzer nicht mitbekommt.
Die entsprechende Datei-Version würde ich in einem Reiter hinterlegen wollen.
Herzlichen Dank für eure Antworten!
Gruß
Matthias

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Versionsabfrage der aktuell geöffneten Datei
22.11.2018 12:33:31
Karl-heinz
Hallo Matthias,
ein spannendes Thema. M.E. kann man nicht aus einer geschlossenen Exceldatei Werte auslesen, es sei denn über Bezüge (Verlinkungen) in ein Tabellenblatt. Ein einfaches direktes Einlesen der XLS-Datei per Binary-Open scheitert daran, dass alles gezippt ist.
Aber meine Idee dazu:
Warum missbrauchen wir nicht einfach die Eigenschaften von Excel und dem Explorerdateisystem, um eine relativ einfache Lösung zu erhalten. Hierzu pflegst Du einfach unter "Datei - Informationen - Eigenschaften - Kommentare" z.B. "Version 1.0" ein. Dies erscheint dann auch im Explorer und kann ausgelesen werden, ohne die XLS-Datei zu öffnen.
Hierzu ein Beispiel:
Sub PruefeVersion()
If GetProperties("Pfad1", "Dashboard.xlsb", "Kommentare")  GetProperties("Pfad2", " _
Dashboard.xlsb", "Kommentare") Then MsgBox "Hallo, mach mich neu"
End Sub

Function GetProperties(Pfad As String, Datei As String, Eigenschaft As String) As String
Dim i As Integer
With CreateObject("Shell.Application")
With .Namespace((Pfad))
For i = 0 To 50
If .GetDetailsOf(.Items, i) Like "Kommentare" Then
GetProperties = .GetDetailsOf(.ParseName(Datei), i)
Exit Function
End If
Next i
End With
End With
End Function
Probier es mal aus.
viele Grüße
Karl-Heinz
Anzeige
AW: Versionsabfrage der aktuell geöffneten Datei
28.11.2018 13:36:49
Matthias
Hallo Karl-Heinz,
herzlichen Dank für deine Lösung. Leider kann die Lösung wegen den sog. DAU's nicht ohne Risiken verwendet werden. Dieser könnte den Kommentar ändern, wenn er keine Lust hat die Version zu wechseln.
Mit deinem Beitrag hast du mich jedoch auf eine Lösung gebracht, welche DAU-freundlicher ist.
So habe ich es jetzt lösen können.
In meiner Excel-Datei habe ich 2 Zellen mit jeweils der Version der Master-Datei und der verwendeten Datei. Über externe Verknüpfung zu der Master-Datei kann ich den Zellenwert der Master-Zelle ändern. Anschließend kann ich beide Versionen miteinander vergleichen.
Zum Schutz gegen Änderung kann man einfacherweise dann einen Blattschutz auf beide Zellen mit Passwort setzen.
Trotzdem herzlichen Dank für deine Antwort!
Gruß
Matthias
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige