PDA

Vollständige Version anzeigen : Liste von Dateien verlinken


Olaf_Nieman
09.07.2015, 22:21
Hallo Fachleute,

neues Problem: (ich bitte um eure Hilfestellung)
Ich habe eine Liste (von beliebigen Dokumenten)
(vorrangig Word Dateien oder pdf Files)
Ich möchte per VBA eine Abfrage starten, ob in einem festen Verzeichnis
die jeweilige Datei mit Listennamen
V1234
V1235
V1236
V1237
...
vorhanden ist und falls "ja" der Zell-Eintrag dann mit der entsprechenden Datei ver-hyper-linkt wird.

Die Dateien heißen entsprechend:
V1234.doc (Beispiel)
V1235.docm (Beispiel)
V1236.docx (Beispiel)
V1237.pdf (Beispiel)
...

Wer weiß wie das geht?
Ich sende vor Danke an alle Fachleute!

Beverly
10.07.2015, 07:01
Hi,

nach diesem Prinzip:

Sub Verlinken()
Dim strDatei As String
Dim lngZeile As Long
Dim strPfad As String
strPfad = "D:\Test\"
For lngZeile = 1 To 10
If Dir(strPfad & Cells(lngZeile, 1) & ".*") <> "" Then
strDatei = strPfad & Dir(strPfad & Cells(lngZeile, 1) & ".*")
Cells(lngZeile, 1).Hyperlinks.Add Anchor:=Cells(lngZeile, 1), _
Address:=strDatei
End If
Next lngZeile
End Sub


<hr width="20%" align="left"><img src="http://excel-inn.de/images/grusz.gif" height=35" align="left" alt="Grußformel"><a href="http://excel-inn.de/"><img border="0" src="http://excel-inn.de/images/logo1.gif" height=35" align="middle" alt="Beverly's Excel - Inn"></a>

Olaf_Nieman
16.07.2015, 20:24
Hallo Beverly,

vielen Dank für den schnellen Lösungsvorschlag!
Ich habe noch ergänzt, dass in dem Blatt, wo der Code per Knöppschen ausgeführt wird der Hyperlinks zuvor in Spalte A gelöscht werden.
Ist die Formulierung sinnvoll?
(Code kann aber auch entfallen, wenn die Datei zuvor händisch auf einen
anderen Ordner als "D:\Test\" verlinkt wurde. Dieser Hyperlink bleibt dann bestehen. Tote Hyperlinks werden so aber nicht erkannt.)


Sub Verlinken()
Dim strDatei As String
Dim lngZeile As Long
Dim strPfad As String
strPfad = "D:\Test\"
Range("A:A").Hyperlinks.Delete
For lngZeile = 1 To 10
If Dir(strPfad & Cells(lngZeile, 1) & ".*") <> "" Then
strDatei = strPfad & Dir(strPfad & Cells(lngZeile, 1) & ".*")
Cells(lngZeile, 1).Hyperlinks.Add Anchor:=Cells(lngZeile, 1), _
Address:=strDatei
End If
Next lngZeile
End Sub

Beverly
17.07.2015, 10:28
Hi,

es ist gewiss richtig, die Hyperlinks vorher zu löschen, wenn dieser Code mehrfach ausgeführt werden soll und Dateien auch verschoben werden können.

<hr width="20%" align="left"><img src="http://excel-inn.de/images/grusz.gif" height=35" align="left" alt="Grußformel"><a href="http://excel-inn.de/"><img border="0" src="http://excel-inn.de/images/logo1.gif" height=35" align="middle" alt="Beverly's Excel - Inn"></a>