2
www.ChF-Online.de  

Verknüpfte Dateien drucken

   Neuigkeiten
   API-Aufrufe in VBA
   VBA2HTML
   Word
   Word-VBA
 Verschiedenes
aktiv aktiv Feld-Arbeiten
 Felder aktualisieren
 Felder aktualisieren (II)
 Felder aktualisieren (III)
 Feldfunktion darstellen
 Formularfelder (I)
 Formluarfelder formatieren
 Formularfelder kopieren
 IHV formatieren
 Aktuelle Kalenderwoche
 Formular-QuickInfos
aktiv  Verkn. Dateien drucken
 Form-Sachen
 Menü-/Symbolleisten
 VBA und Lotus Notes
 VBA und Mail
 Inside VBAIDE
 Von Word nach Outlook
 Fix-und-Fertiges/Projekte
   Word2007 (RibbonX)
   Word2010 (RibbonX)
   Outlook-VBA
   Links zu VB(A)
   DocToHelp
   Netport Express XL
   Astronomie
   Gästebuch
   Volltextsuche
   Sitemap
   Buch:Word-Programmierung
   Impressum & Kontakt
   Datenschutzerklärung
Getestet unter Word2000Getestet unter WordXPGetestet unter Word2003  
Beispiel anzeigen
Makro/Datei speichern
Print

Ü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.
In diesem Artikel soll beschrieben werden, wie als Symbol verknüpfte PDF-Dateien automatisch mit dem Dokument zusammen ausgedruckt werden können.
Voraussetzung ist aber, dass die (PDF) Dateien als Symbol verknüpft sind, da es ansonsten normalerweise keinen Sinn ergibt das Objekt noch einmal auszudrucken.

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:

Code markieren
' 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 "link ShellExecute" allerdings mit dem Paramter "Print" und dem ermittelten Dateinamen.

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  |  2224947 insgesamt | Seitenaufrufe: 14   Letzte Änderung: 14.09.2009 © 2001-18 Christian Freßdorf
  In Begriffen denken, in Kategorien einteilen, das ist so automatisch wie Luftholen.
Wolf Biermann
 powered by phpCMS and PAX