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

Erstellung Inhaltsverzeichnis aller Verknüpfungen

Erstellung Inhaltsverzeichnis aller Verknüpfungen
Carolin
Hallo Zusammen,
besteht die Möglichkeit, ein Inhaltsverzeichnis aller Verknüpfungen einer Exceldatei automatisch in der gleichen Datei zu erstellen (Anzeige des Dateinamens und letztes Änderungsdatum)?
Dank schon mal im Voraus.
Carolin
AW: Erstellung Inhaltsverzeichnis aller Verknüpfungen
16.07.2009 11:12:37
ANdreas
Hallo Carolin,
in der Datei muss ein Tabellenblatt "Inhaltsverzeichnis" vorhanden sein. Code für eine Schaltfläche:
Private Sub CommandButton1_Click()
Dim xlLinks
Dim i As Integer
Dim objFS As Variant
With ThisWorkbook.Worksheets("Inhaltsverzeichnis")
.Cells.ClearContents
.Range("A1").Value = "Dateiname & Pfad"
.Range("B1").Value = "Änderungsdatum"
xlLinks = ActiveWorkbook.LinkSources(xlExcelLinks)
If Not IsEmpty(xlLinks) Then
Set objFS = CreateObject("Scripting.FileSystemObject")
For i = 1 To UBound(xlLinks)
.Cells(i + 1, 1).Value = xlLinks(i)
.Cells(i + 1, 2).Value = Format(FileDateTime(xlLinks(i)), "DD.MM.YYYY HH:MM")
Next i
End If
End With
End Sub
Gruß
Andreas
Anzeige
AW: Erstellung Inhaltsverzeichnis aller Verknüpfungen
16.07.2009 11:34:27
Carolin
Hallo Andreas,
herzlichen Dank, funktioniert perfekt!
Grüße
Carolin
AW: Erstellung Inhaltsverzeichnis aller Verknüpfungen
16.07.2009 11:47:26
Jogy
Hi.
Nur als Frage: Wozu das FileSystemObject? Ist das vielleicht noch ein Überbleibsel vom Auslesen des Datums (bei FileDateTime brauchst Du das ja nicht)?
Gruss, Jogy
AW: Erstellung Inhaltsverzeichnis aller Verknüpfungen
16.07.2009 11:58:40
ANdreas
Hallo Jogy,
ja sind noch 2 Zeilen (mit objFSO) die man rausnehmen kann. Habs bei mir aus einem bestehenden Code genommen, da werden noch ein paar andere Sachen, die das FSO benötigen, ermittelt.
Gruß
Andreas
AW: Erstellung Inhaltsverzeichnis aller Verknüpfungen
16.07.2009 11:44:42
Jogy
Hi.
Ich lasse das mal in die Tabelle "Links" schreiben (legt es an, wenn nicht vorhanden):
 'Liest alle Verknüfungen aus und schreibt sie in ein neues Arbeitsblatt
Sub writeLinks()
Dim myLinks
Dim linkConst
Dim i As Integer
Dim j As Integer
Dim schreibZeile As Long
Dim linkWsh As Worksheet
Application.ScreenUpdating = False
linkConst = Array(xlExcelLinks, xlOLELinks, xlPublishers, xlSubscribers)
schreibZeile = 2
' Legt ein Worksheet namens Links an, falls nicht vorhanden
On Error Resume Next
Set linkWsh = ActiveWorkbook.Worksheets("Links")
On Error GoTo 0
If linkWsh Is Nothing Then
Set linkWsh = ActiveWorkbook.Worksheets.Add(, ActiveWorkbook.Sheets(Sheets.Count))
linkWsh.name = "Links"
Else
linkWsh.Cells.ClearContents
End If
On Error GoTo 0
With linkWsh
For i = 0 To UBound(linkConst)
' Links lesen
myLinks = ActiveWorkbook.LinkSources(linkConst(i))
' Links schreiben
If Not IsEmpty(myLinks) Then
For j = 1 To UBound(myLinks)
.Cells(schreibZeile, 1) = myLinks(j)
' Fehlerbehandlung aus, falls Zugriffsfehler
On Error Resume Next
.Cells(schreibZeile, 2) = FileDateTime(myLinks(j))
On Error GoTo 0
schreibZeile = schreibZeile + 1
Next
End If
Next
' Wenn was geschrieben wurde, dann noch Überschrift und Formatierung
If schreibZeile > 2 Then
.Cells(1, 1) = "Dateiname"
.Cells(1, 2) = "Änderungsdatum"
.Range(.Cells(1, 1), .Cells(1, 2)).EntireColumn.AutoFit
Else
Application.DisplayAlerts = False
.Delete
Application.DisplayAlerts = True
End If
End With
Application.ScreenUpdating = True
End Sub

Gruss, Jogy
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige