Inhaltsverzeichnis mit Link

Betrifft: Inhaltsverzeichnis mit Link
von: Ulrich
Geschrieben am: 01.11.2020 10:16:13
Hallo Zusammen,
ich möchte gerne in einer Exceldatei „Inhaltsverzeichnis.xlsx“ die Dateinamen der Dateien aus dem aktuellen Dateiordner und aus Unterordnern in 4 Spalten aufgelistet haben; die aufgelisteten Dateien sollen mit einem hyperlink zum Aufrufen der Datei versehen werden.
Spalte B -- Dateinamen die mit GB_ beginnen
Spalte E -- Dateinamen die mit BA_ beginnen
Spalte H -- Dateinamen die mit BG_ beginnen
Spalte K -- Dateinamen die mit XX_ beginnen
(Sortierung Alphabetisch „Dateiname und Verlinkung zur Datei)
Die Dateien können unterschiedliches Dateiformat haben, z.B. Excel, Word, pdf ......
kann mir diesbezüglich jemand helfen?
vielen Dank dafür
Gruß Ulli

Betrifft: AW: Inhaltsverzeichnis mit Link
von: Hajo_Zi
Geschrieben am: 01.11.2020 11:45:44
Hallo Uli,
http://hajo-excel.de/gepackt/vba2007/ordner_auslesen_hyperlink2007.zip
Falls Link nicht ausgeführt wird:
1. Link kopieren
2. rechte Maustaste neues Fenter.
3. Umschaltstaste drücken und Klick auf den Link
4. STRG+ Link mit Maus aktivieren


Betrifft: AW: Inhaltsverzeichnis mit Link
von: Ulrich
Geschrieben am: 01.11.2020 16:47:34
Hallo,
danke für deine Mail,
folgender Fehler (siehe Anlage) wir mir angezeigt
Gruß Ulli

Betrifft: AW: Inhaltsverzeichnis mit Link
von: Hajo_Zi
Geschrieben am: 01.11.2020 16:58:46
Hallo Uli,
es Stand nicht im Beitrag das es eine 64 bit Version ist.
Gru� Hajo

Betrifft: AW: Inhaltsverzeichnis mit Link
von: Ulrich Imhoff
Geschrieben am: 01.11.2020 17:06:12
Hallo Hajo,
sorry, das habe ich nicht gewusst das die Version bekannt sein muß.
Ich habe jetzt folgendes "PtrSafe" in den rot markierten Zeilen ergänzt.
Der Fehler ist jetzt weg, es öffnet sich auch ein Fenster zum Auslesen der Dateien, aber dann bricht Excel ab.
Als Anlage eine Beispieldatei wie ungefähr das Inhaltsverzeichnis aussehen soll,
https://www.herber.de/bbs/user/141232.xlsx
Gruß Ulli

Betrifft: AW: Inhaltsverzeichnis mit Link
von: Ulrich Imhoff
Geschrieben am: 01.11.2020 16:49:25
Hallo,
hier noch eine kurze Beispieldatei
https://www.herber.de/bbs/user/141230.xlsx
Gruß Ulli

Betrifft: AW: Inhaltsverzeichnis mit Link
von: Nepumuk
Geschrieben am: 01.11.2020 14:39:59
Hallo Ulli,
was soll mit Dateien passieren die nicht mit den angegebenen Buchstaben beginnen? Ab welcher Zeile? Wo soll der Dateiname hin und wo der Link oder genügt es den Dateinamen im Link anzuzeigen?
Gruß
Nepumuk

Betrifft: AW: Inhaltsverzeichnis mit Link
von: Ulrich
Geschrieben am: 01.11.2020 16:39:08
Hallo Nepumuk,
vielen Dank für deine Mail.
- Dateien ohne diese Anfangsbuchstaben können unberücksichtigt bleiben.
- Die Auflistung kann direkt unter der Überschrift beginnen(in der Beispieldatei ab Zeile 4)
- Der Dateiname soll direkt in die freien Zellen der Spalte eingetragen werden
- Den Dateinamen mit dem link versehen wäre gut.
ich habe noch eine kleine Beispieldatei angehängt
https://www.herber.de/bbs/user/141228.xlsx
Danke für deine Mühe.
Gruß Ulli

Betrifft: AW: Inhaltsverzeichnis mit Link
von: Ulrich Imhoff
Geschrieben am: 01.11.2020 17:10:33
Hallo Nepumuk,
mein Excel ist eine 64 bit Version, ich hatte das vergessen anzugeben.
Gruß Ulli

Betrifft: AW: Inhaltsverzeichnis mit Link
von: max.kaffl@gmx.de
Geschrieben am: 01.11.2020 17:14:39
Hallo Ulli,
ich versuche Programme so zu schreiben dass es für beide Versionen passt. Teste mal:
https://www.herber.de/bbs/user/141233.xlsm
Gruß
Nepumuk

Betrifft: AW: Inhaltsverzeichnis mit Link
von: Ulrich Imhoff
Geschrieben am: 01.11.2020 17:28:00
Hallo Nepumuk,
das ist ja Wahnsinn, geil, funktioniert.
Wäre es noch möglich das er den aktuellen Ordner (und Unterordner)direkt vorschlägt?
Ansonsten super!!
Gruß Ulli

Betrifft: AW: Inhaltsverzeichnis mit Link
von: max.kaffl@gmx.de
Geschrieben am: 01.11.2020 17:29:34
Hallo Ulli,
was verstehst du unter "aktuellen Ordner"?
Gruß
Nepumuk

Betrifft: AW: Inhaltsverzeichnis mit Link
von: Ulrich Imhoff
Geschrieben am: 01.11.2020 17:36:17
Hallo Nepumuk,
als "Aktuellen Ordner" meine ich den Ordner in dem das Inhaltsverzeichnis abgelegt ist.
Es wäre noch das i-Tüpfelchen wenn er diesen Ordner vorschlagen würde (Unterordner einbezogen)
Gruß Ulli

Betrifft: AW: Inhaltsverzeichnis mit Link
von: Nepumuk
Geschrieben am: 01.11.2020 17:41:09
Hallo Ulli,
so:
.InitialFileName = ThisWorkbook.Path
Gruß
Nepumuk

Betrifft: AW: Inhaltsverzeichnis mit Link
von: Nepumuk
Geschrieben am: 01.11.2020 17:45:58
Hallo Ulli,
doch besser so:
.InitialFileName = ThisWorkbook.Path & "\"
Gruß
Nepumuk

Betrifft: AW: Inhaltsverzeichnis mit Link
von: Ulrich Imhoff
Geschrieben am: 03.11.2020 14:07:02
Hallo Nepumuk,
ich habe noch eine kurze Frage (ich hoffe es nervt nicht)
Ich habe die Tabelle etwas verändert.
Es sollen in Spalte B Dateien aufgelistet werden, die mit LT_ beginnen. (alles gleichartige Excel Dateien)
ich habe dein Makro mit meinem Halbwissen angepasst.
Folgende Zellinhalte
aus den Dateien sollen rausgezogen werden
Spalte 5 Zelle B5
Spalte 8 Zelle D6
Spalte 11 Zelle D7
Ist das so überhaupt möglich?
Wenn die Rahmen (einfache Linie) auch mit erstellt werden wäre klasse.
Vielleicht hast du noch einmal die Möglichkeit dir das anzusehen.
https://www.herber.de/bbs/user/141276.xlsm
Gruß Ulli

Betrifft: AW: Inhaltsverzeichnis mit Link
von: Nepumuk
Geschrieben am: 03.11.2020 14:22:20
Hallo Ulli,
aus welcher Tabelle sollen die Daten kommen?
Gruß
Nepumuk

Betrifft: AW: Inhaltsverzeichnis mit Link
von: Ulrich Imhoff
Geschrieben am: 03.11.2020 14:35:38
Hallo Nepumuk,
Jeweils aus den Dateien (Excel), die links in Spalte B als Inhaltsverzeichnis aufgeführt werden.
Das heißt, es werden wieder die Dateinamen mit der Verlinkung aufgelistet (Spalte B), und aus diesen Dateien werden jeweils 3 Zellen (B5; D6; D7) ausgelesen und in die benachbarten Spalten eingelesen.
Ich hoffe das ist verständlich.
Gruß Ulli

Betrifft: AW: Inhaltsverzeichnis mit Link
von: Nepumuk
Geschrieben am: 03.11.2020 15:02:01
Hallo Ulli,
teste mal:
Public Sub Inhaltsverzeichnis()
Const COLUMN_NUMBER As Long = 2
Dim objFileSearch As clsFileSearch, objFileDialog As FileDialog
Dim objWorkbook As Workbook
Dim ialngIndex As Long, lngFileCount As Long
Dim strFolder As String
Set objFileDialog = Application.FileDialog(fileDialogType:=msoFileDialogFolderPicker)
With objFileDialog
.AllowMultiSelect = False
.ButtonName = "Auswählen"
.Title = "Ordner auswählen"
.InitialFileName = ThisWorkbook.Path & "\"
If .Show Then strFolder = .SelectedItems(1)
End With
Set objFileDialog = Nothing
If strFolder <> vbNullString Then
With Application
.Calculation = xlCalculationManual
.EnableEvents = False
.ScreenUpdating = False
End With
Set objFileSearch = New clsFileSearch
With Tabelle1
Call .Range(.Cells(4, COLUMN_NUMBER), Cells(.Rows.Count, COLUMN_NUMBER)).ClearContents
End With
With objFileSearch
.CaseSenstiv = False
.Extension = "*.xls*"
.FolderPath = strFolder
.SubFolders = True
.NewSearch = True
.SearchLike = "LT_*"
lngFileCount = .Execute(Sort_by_Name, Sort_Order_Ascending)
For ialngIndex = 1 To lngFileCount
With .Files(ialngIndex)
Set objWorkbook = Workbooks.Open(Filename:=.Path, UpdateLinks:=3, ReadOnly:=True)
Call Tabelle1.Hyperlinks.Add(Anchor:=Tabelle1.Cells(ialngIndex + 3, COLUMN_NUMBER), _
Address:=.Path, TextToDisplay:=.Filename)
With objWorkbook.Worksheets(1)
Tabelle1.Cells(ialngIndex + 3, 5).Value = .Cells(5, 2).Value
Tabelle1.Cells(ialngIndex + 3, 8).Value = .Cells(6, 4).Value
Tabelle1.Cells(ialngIndex + 3, 11).Value = .Cells(7, 4).Value
End With
With Tabelle1
With .Range(.Cells(ialngIndex + 3, 2), .Cells(ialngIndex + 3, 11))
Call .BorderAround(LineStyle:=xlContinuous, Weight:=xlThin)
.Borders(xlInsideHorizontal).LineStyle = xlContinuous
With .Borders(xlInsideVertical)
.LineStyle = xlContinuous
.Weight = xlThin
End With
End With
End With
Call objWorkbook.Close(SaveChanges:=False)
Set objWorkbook = Nothing
End With
Next
End With
Set objFileSearch = Nothing
With Application
.Calculation = xlCalculationAutomatic
.EnableEvents = True
.ScreenUpdating = True
End With
End If
End Sub
Gruß
Nepumuk

Betrifft: AW: Inhaltsverzeichnis mit Link
von: Ulrich Imhoff
Geschrieben am: 03.11.2020 15:58:08
Hallo Nepumuk,
folgender Fehler kommt:
Gruß Ulli

Betrifft: AW: Inhaltsverzeichnis mit Link
von: Nepumuk
Geschrieben am: 03.11.2020 16:10:34
Hallo Ulli,
der Type ist im Modul1 definiert. Den darfst du natürlich nicht löschen.
Gruß
Nepumuk

Betrifft: AW: Inhaltsverzeichnis mit Link
von: Ulrich Imhoff
Geschrieben am: 03.11.2020 16:13:46
Hallo Nepumuk,
sorry, funktioniert doch, ich Doof hatte das ganze alte Makro gelöscht.
Also funktioniert doch, nur die alten Daten und Rahmen in der Tabelle (falls vorhanden) werden vor dem aktualisieren durch Ausführen des Makro nicht gelöscht.(wäre gut wenn das vorher passieren würde)
Ansonsten super
Gruß Ulli

Betrifft: AW: Inhaltsverzeichnis mit Link
von: Nepumuk
Geschrieben am: 03.11.2020 16:27:15
Hallo Ulli,
so:
Public Sub Inhaltsverzeichnis()
Const COLUMN_NUMBER As Long = 2
Dim objFileSearch As clsFileSearch, objFileDialog As FileDialog
Dim objWorkbook As Workbook
Dim ialngIndex As Long, lngFileCount As Long
Dim strFolder As String
Set objFileDialog = Application.FileDialog(fileDialogType:=msoFileDialogFolderPicker)
With objFileDialog
.AllowMultiSelect = False
.ButtonName = "Auswählen"
.Title = "Ordner auswählen"
.InitialFileName = ThisWorkbook.Path & "\"
If .Show Then strFolder = .SelectedItems(1)
End With
Set objFileDialog = Nothing
If strFolder <> vbNullString Then
With Application
.Calculation = xlCalculationManual
.EnableEvents = False
.ScreenUpdating = False
End With
With Tabelle1
Call .Range(.Cells(4, 2), .Cells(.Rows.Count, 11)).Clear
End With
With Tabelle1
Call .Range(.Cells(4, COLUMN_NUMBER), Cells(.Rows.Count, COLUMN_NUMBER)).ClearContents
End With
Set objFileSearch = New clsFileSearch
With objFileSearch
.CaseSenstiv = False
.Extension = "*.xls*"
.FolderPath = strFolder
.SubFolders = True
.NewSearch = True
.SearchLike = "LT_*"
lngFileCount = .Execute(Sort_by_Name, Sort_Order_Ascending)
For ialngIndex = 1 To lngFileCount
With .Files(ialngIndex)
Set objWorkbook = Workbooks.Open(Filename:=.Path, UpdateLinks:=3, ReadOnly:=True)
Call Tabelle1.Hyperlinks.Add(Anchor:=Tabelle1.Cells(ialngIndex + 3, COLUMN_NUMBER), _
Address:=.Path, TextToDisplay:=.Filename)
With objWorkbook.Worksheets(1)
Tabelle1.Cells(ialngIndex + 3, 5).Value = .Cells(5, 2).Value
Tabelle1.Cells(ialngIndex + 3, 8).Value = .Cells(6, 4).Value
Tabelle1.Cells(ialngIndex + 3, 11).Value = .Cells(7, 4).Value
End With
With Tabelle1
With .Range(.Cells(ialngIndex + 3, 2), .Cells(ialngIndex + 3, 11))
Call .BorderAround(LineStyle:=xlContinuous, Weight:=xlThin)
With .Borders(xlInsideVertical)
.LineStyle = xlContinuous
.Weight = xlThin
End With
End With
End With
Call objWorkbook.Close(SaveChanges:=False)
Set objWorkbook = Nothing
End With
Next
End With
Set objFileSearch = Nothing
With Application
.Calculation = xlCalculationAutomatic
.EnableEvents = True
.ScreenUpdating = True
End With
End If
End Sub
Gruß
Nepumuk

Betrifft: AW: Inhaltsverzeichnis mit Link
von: Ulrich Imhoff
Geschrieben am: 03.11.2020 16:33:13
Hallo Nepumuk,
großartig !!
Kann ich dir das irgendwie gut machen?
vielleicht habe ich in der Zukunft noch einmal etwas, dann käme ich mir doof vor dich wieder zu belästigen.
Gruß Ulli

Betrifft: AW: Inhaltsverzeichnis mit Link
von: Nepumuk
Geschrieben am: 03.11.2020 16:40:25
Hallo Ulli,
spende 25€ an SOS-Kinderdorf.
https://www.sos-kinderdorf.de/
Kinder sind das wichtigste was es gibt.
Gruß
Nepumuk

Betrifft: AW: Inhaltsverzeichnis mit Link
von: Ulrich Imhoff
Geschrieben am: 03.11.2020 17:45:06
Hallo Nepumuk,
das mache ich gerne.
Vielen Dank noch einmal für deine Hilfe.
Gruß Ulli

Betrifft: AW: Inhaltsverzeichnis mit Link
von: Ulrich Imhoff
Geschrieben am: 01.11.2020 17:58:50
Hallo Nepumuk,
vielen Dank für deine Hilfe, ganz große Klasse!
Ich wünsche dir noch einen schönen Abend!
Gruß Ulli
Beiträge aus dem Excel-Forum zum Thema "Inhaltsverzeichnis mit Link"