In einer Exceldatei sollen in Spalte A alle Dateien eines Ordners namentlich gelistet und mit einem Hyperlink versehen werden, so dass eine Datei per Mausklick geöffnet werden kann.
Anmerkung: Wird die Bezeichung *.xls in beispielsweise *.pdf geändert, so werden alle PDF-Dateien angezeigt
Nachfolgend 2 Codebeispiele
1.) Bei Starten des Codes erscheint ein Auswahlfenster. Es kann ein gewünschter Ordner sowie die Datei(en) gezielt ausgewählt werden.
In Spalte A wird der komplette Pfad + Dateiname gelistet.
Sub Dateien_als_Hyperlink_listen1()
On Error GoTo errExit
'Code für ein allgemeines Modul
'*********************************
'Autor: Jürgen Hennekes
'*********************************
Dim varDateien As Variant
Dim lngZ As Long
Dim lngAnzahl As Long
varDateien = _
Application.GetOpenFilename("Datei (*.xls),*.xls", False, "Bitte gewünschte Datei(en) markieren", False, True)
lngZ = 2
For lngAnzahl = LBound(varDateien) To UBound(varDateien)
With ActiveSheet
.Cells(lngZ, 1) = varDateien(lngAnzahl)
.Hyperlinks.Add Anchor:=.Cells(lngZ, 1), Address:=varDateien(lngAnzahl)
End With
lngZ = lngZ + 1
Next
Exit Sub
errExit:
End Sub
2.) Bei Starten des Codes erscheint ein Auswahlfenster. Es kann ein gewünschter Ordner sowie die Datei(en) gezielt ausgewählt werden.
In Spalte A wird der Dateiname gelistet.
Sub Dateien_als_Hyperlink_listen2()
On Error GoTo errExit
'Code für ein allgemeines Modul
'*********************************
'Autor: Jürgen Hennekes
'*********************************
Dim varDateien As Variant
Dim lngZ As Long
Dim lngAnzahl As Long
Dim SPL
Dim strDatei As String
varDateien = _
Application.GetOpenFilename("Datei (*.xls),*.xls", False, "Bitte gewünschte Datei(en) markieren", False, True)
lngZ = 2
For lngAnzahl = LBound(varDateien) To UBound(varDateien)
With ActiveSheet
SPL = Split(varDateien(lngAnzahl), "\")
strDatei = SPL(UBound(SPL))
.Cells(lngZ, 1) = strDatei
.Hyperlinks.Add Anchor:=.Cells(lngZ, 1), Address:=varDateien(lngAnzahl)
End With
lngZ = lngZ + 1
Next
Exit Sub
errExit:
End Sub