In einem Word-Dokument befinden sich ein Dutzend OLE-Objekte, sprich in die Word-Datei eingebettete Dateien wie PDFs, TXTs und XLSs.
Folgendes Visual Basic-Script iteriert über die Shapes und InlineShapes in einem Dokument und gibt den Dateinamen aus:
Sub emeidiListEmbeddedFiles() Debug.Print "Shapes in ActiveDocument.Shapes.Count: " & ActiveDocument.Shapes.Count Debug.Print "" For Each Shape In ActiveDocument.Shapes With Shape With .OLEFormat 'Debug.Print " .IconLabel: " & .IconLabel Debug.Print .IconLabel End With End With Next Debug.Print "Shapes in ActiveDocument.InlineShapes.Count: " & ActiveDocument.InlineShapes.Count Debug.Print "" For Each Shape In ActiveDocument.InlineShapes With Shape With .OLEFormat 'Debug.Print " .IconLabel: " & .IconLabel Debug.Print .IconLabel End With End With Next End Sub
Das Script kann problemlos angepasst und erweitert werden, um die Eigenschaften der entsprechenden Objekte zu verändern.