Frage von Habenzu, 73

Wie erstelle ich einen Hyperlink so, das er immer zum aktuellsten Dokument in einem Ordner führt?

Hallo liebe Community,

ich hab mit einer recht großen Anzahl an Kunden zu tun, für jeden Kunden gibt es verschiedene Dateien in verschiedenen Ordnern. Nun möchte ich in meiner Übersichtsliste (in der alle Kunden aufgelistet sind) Hyperlinks einfügen so das ich mit einem Klick zu der dazugehörigen Liste komme. Ansich ja gar kein Problem, jedoch werden die Dateien immer von unterschiedlichen Leuten bearbeitet und als Version1, Version2, ... abgespeichert, wenn ich also ein normalen Hyperlink einfüge dann komm ich eventuell auf Version1 obwohl es schon eine Version 2 gibt.

Lange Rede kurzer Sinn:

Ich will ein Hyperlink mit dem ich immer zur aktuellsten (also zuletzt gespeicherten) Datei im Ordner komme.

Danke für eure Mühe und Hilfsbereitschaft!

Liebe Grüße

Paul

Expertenantwort
von Ninombre, Community-Experte für Excel, 39

Prinzipiell würde ich das Problem mit Namenskonventionen angehen - diese Herum-Nummeriererei ist ein Garant für Chaos, v.a. wenn es dann mit _final, _final2, _letzte version weitergeht. Klare Linie: Es gibt ein Archivordner je Kunden, da können alter Versionen mit Archivdatum reingeschoben werden und im eigentlichen Verzeichnis liegt nur die aktuelle Datei ohne Versionsnummer und sonstige Angaben im Dateinamen.

Das Problem, das ich bei Deinem Lösungsansatz sehe: Die letzte Änderung kann auch eine eigentlich alte Datei sein, wo jemand nur einen Tippfehler korrigiert hat und sonst nichts aktualisiert wurde.

Unabhängig davon wäre ein Lösungsansatz, wenn es denn VBA und Link sein soll: (Mit VBA außerhalb von Excel zu hantieren ist nicht so meine Spezialität, daher gibt es vermutlich noch was Eleganteres)


Sub link_erstellen()
Dim sFile As String, sPattern As String, sPath As String
Dim maxdatum
sPath = "c:\users\Du\desktop\test\" ' Hier gibst Du Deinen Pfand zum gewünschten Verzeichnis an
sPattern = "*.*"
sFile = Dir(sPath & sPattern)
Do Until sFile = ""
If FileDateTime((sPath & sFile)) > maxdatum Then
maxdatum = FileDateTime(sPath & sFile)
ActiveSheet.Hyperlinks.Add Anchor:=ActiveSheet.Cells(1,1), _
Address:=sPath & sFile, TextToDisplay:=sPath & sFile
End If
sFile = Dir()
Loop
End Sub

Antwort
von Berny96, 56

Das wäre ohne weitere Programmierung so nicht möglich. Du könntest aber den Leuten sagen sie sollen beim abspeichern den alten Dateinamen ändern mit v1, v2 etc, und das aktuellste einfach ohne v sondern nur eben "Dokument". So führt der Hyperlink immer zur aktuellsten version.

Kommentar von Habenzu ,

Danke erstmal.
Würde das mit Markoprogrammierung oder VBA funktionieren?

LG

Kommentar von Berny96 ,

Das wäre sehr wohl mit VBA zu schaffen jedoch habe ich in dem Bereich leider keine Erfahrung. Auf der schnelle bin auf das hier gestoßen: https://msdn.microsoft.com/de-de/library/office/ff822490.aspx

Antwort
von perhp, 29

Weis jetzt nicht in welcher Programmiersprache du das machen willst, aber mit PHP ist sowas auch möglich und dafür gibt es auch eine Funktion: http://www.w3schools.com/php/func_filesystem_filemtime.asp

Keine passende Antwort gefunden?

Fragen Sie die Community