Als letztes Objekt in diesem Artikel wird nun die Arbeitsmappe beschrieben, die durch das Objekt Workbook angesprochen werden kann. Auch zu diesem Objekt folgen zwei Beispiele:

4.1 Datum der letzten Speicherung abfragen

Wenn Sie einen Blick auf den Dialog Eigenschaften aus dem Menü Datei → Eigenschaften werfen, dann sehen Sie auf der Registerkarte Statistik das letzte Änderungsdatum der Arbeitsmappe. Wie aber können Sie dieses Datum abfragen und gegebenenfalls in eine Zelle schreiben. Die Antwort auf diese Frage liefert das Makro aus dem folgenden Listing.

Sub LetztesSpeicherungsdatumAbfragen()
MsgBox "Das letzte Änderungsdatum der Arbeitsmappe war am: " & _
ActiveWorkbook.BuiltinDocumentProperties("Last save Time")
Sheets("Tabelle1").Range("A1").Value = _
CDate(ActiveWorkbook.BuiltinDocumentProperties("Last save Time"))
End Sub

Über die Eigenschaft BuiltinDocumentProperties können Sie Zugriff auf die Dokumenteigenschaften der aktiven Arbeitsmappe gewinnen. Über die Konstante Last save time wird beispielsweise das letzte Änderungsdatum ermittelt. Die Konstante Creation date würde beispielsweise das Erstellungsdatum der Arbeitsmappe zurückgeben. Die Konstante Last print date liefert den Zeitpunkt des letzten Druckens der Mappe. Wenn Sie diese Eigenschaften in eine Zelle übertragen möchten, dann müssen Sie die Funktion CDate vorschalten, da sonst das jeweilige Datum als Zahl ausgegeben würde. Diese Funktion sorgt demnach dafür, dass das Datum auch als Datum in der Zelle ankommt.

Abb. 3: Das letzte Änderungsdatum einer Arbeitsmappe wird ermittelt.

4.2 Alle verknüpften Arbeitsmappen ermitteln

Bei der letzten Aufgabe in diesem Artikel werden alle verknüpften Arbeitsmappen einer Mappe dokumentiert. Die verknüpften Arbeitsmappen können Sie ebenso einsehen, wenn Sie aus dem Menü Bearbeiten den Befehl Verknüpfungen wählen. Leider ist in diesem Dialog nicht der komplette Pfad zu sehen. Beim folgenden Makro wird eine neue Tabelle eingefügt und es werden die Namen sowie Pfade der verknüpften Arbeitsmappen ausgegeben.

Sub VerknüpfteDateienAusgeben()
Dim Mappe As Workbook
Dim VLink As Variant
Dim i As Integer
Worksheets.Add
Set Mappe = ActiveWorkbook
VLink = Mappe.LinkSources(xlExcelLinks)
If Not IsEmpty(VLink) Then
  For i = 1 To UBound(VLink)
    Cells(i, 1).Value = "Verknüpfung " & i
    Cells(i, 2).Value = VLink(i)
  Next i
  ActiveSheet.Columns("A:B").AutoFit
End If
End Sub

Über die Methode Add fügen Sie eine neue Tabelle ein. Danach werden die Namen aller verknüpften Arbeitsmappen (Mappe.LinkSources(xlExcelLinks)) automatisch in einem Datenfeld (VLink) eingelesen. Dieses Datenfeld wird im Anschluss ausgelesen. Da Sie vorher nicht wissen, wie viele Verknüpfungen zu anderen Arbeitsmappen bestehen, liefert die Funktion UBound genau diese Information. Dabei greift diese Funktion auf den letzten Eintrag im Datenfeld (VLink) zu, indem die letzte verknüpfte Arbeitsmappe verzeichnet ist. Schreiben Sie nun die einzelnen Informationen aus dem Datenfeld direkt in die neue Tabelle. Passen Sie am Ende die Spaltenbreiten an, indem Sie die Methode AutoFit einsetzen.

Abb. 4: Alle verknüpften Arbeitsmappen werden in einer neuen Tabelle dokumentiert.

Das ist nur ein Ausschnitt aus dem Produkt Controlling Office. Sie wollen mehr?

Anmelden und Beitrag in meinem Produkt lesen


Meistgelesene beiträge