Verknüpfte Dateien drucken |
|
Über die Option Einfügen-Objekt lassen sich verschiedene Objekte in ein Dokument einfügen. Dazu stehen u.a. die Optionen "Verknüpfen" und "Als Symbol anzeigen" zur Verfügung. Das kleine Makro macht nun nichts anderes als das Dokument über den Druckdialog zu drucken, um den ausgewählten Drucker zu ermitteln, das Dokument nach diesen LINK-Feldern zu durchsuchen und alle gefundenen verlinkten Dateien anschließend auf dem ausgewählten Drucker auszugeben. Zur Ermittlung des Feld-Types (wdFieldLink) und des Link-Types (wdLinkTypeOLE und DisplayAsIcon) lassen sich die entsprechenden Eigenschaften des Fields-Objektes verwenden: ' Alle Felder auf Links prüfen For Each oLnk In ActiveDocument.Fields If oLnk.Type = wdFieldLink Then ' Verknüpfungstyp ermitteln und prüfen ob Datei als Icon eingefügt If oLnk.LinkFormat.Type = wdLinkTypeOLE And oLnk.OLEFormat.DisplayAsIcon Then ' Dateinamen ermitteln sLink = oLnk.LinkFormat.SourceFullName sLink = Replace(sLink, "\", "\\") If Dir(sLink) = oLnk.LinkFormat.SourceName Then 'Datei vorhanden? Application.ActivePrinter = sPrinter ' Link-Datei drucken ShellExecute &O0, "Print", sLink, vbNullString, vbNullString, 1 End If End If End If Next oLnk Der Ausruck erfolgt dabei über das API " ShellExecute" allerdings mit dem Paramter "Print" und dem ermittelten Dateinamen. Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" ( _ ByVal hwnd As Long, _ ByVal lpOperation As String, _ ByVal lpFile As String, _ ByVal lpParameters As String, _ ByVal lpDirectory As String, _ ByVal nShowCmd As Long) _ As Long ' Aufruf in einem Modul ' Link-Datei drucken ShellExecute &O0, "Print", sLink, vbNullString, vbNullString, 1 Als Handle für die Anwendung (Word) wird wieder &0 verwendet. Abschließend wird der Standarddrucker wieder zurückgesetzt:
'Standardrucker wieder herstellen
Application.ActivePrinter = DefPrinter
|
Besucher: 0 online | 0 heute | 0 diesen Monat | 2202930 insgesamt | Seitenaufrufe: 77 | Letzte Änderung: 14.09.2009 | © 2001-18 Christian Freßdorf | ||||
Ich würde nie einem Klub beitreten, der mich als Mitglied akzeptieren würde. Groucho Marx, 1890-1977, amerik. Komödiant |
powered by phpCMS and PAX |