2
www.ChF-Online.de  

Wordfenster/-dokumente auflisten II

   Neuigkeiten
   API-Aufrufe in VBA
   VBA2HTML
   Word
   Word-VBA
aktiv aktiv Verschiedenes
 Dateiname ohne Endung
 Dokumentstrukturanzeige
 Fenster anordnen
 Fensterliste
aktiv  Fensterliste (II)
 Kalender erstellen
 Kommentarinformationen
 Lesezeichen
 Beliebigen Ordner öffnen
 Position der Einfügemarke
 Seitenanfang/-ende
 Shapes ansprechen
 Sicherheitskopien erstellen
 Word-Startparameter
 Word-Startparameter II
 Startordner "Bild einfügen"
 Tags finden u. bearbeiten
 Tags finden/bearbeiten (II)
 Text2WordArt
 Textbausteine verwenden
 Textmarken (I)
 Textmarken (II)
 Überschrift zu Textmarke
 VBA-Konverter
 Wasserzeichen
 Zeichen tauschen
 Feld-Arbeiten
 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 Word2000  
Makro/Datei speichern
Print

Als Erweiterung zu der unter  Fensterliste gezeigten Möglichkeit, die geöffneten Dokumente im besseren Zugriff zu behalten, lassen sich die Wechsel zwischen den Dokumente auch mittels eines Klassenmoduls abfangen. Dazu stehen die Ereignisse WindowActivate, WindowDeactivate und NewDocument im Application-Objekt zur Verfügung. Diese Ereignisse werden automatisch beim Erstellen eines neuen Dokumentes, bzw. beim Aktivieren und Deaktivieren eines Dokumentes (Fensters) ausgeführt.

Mit folgendem Klassenmodul EventClassWindow wird dabei der Wechsel zwischen den Dokumenten abgefangen. Wird ein Dokument aktiviert (z.B. über die Programmleiste oder <ALT><TAB>), wird automatisch der entsprechende Eintrag in der Symbolleiste deaktiviert und der Eintrag für das vorher aktive Dokument wieder aktiviert.

Fensterliste

Public WithEvents App As Application

Private Sub App_NewDocument(ByVal Doc As Document) sCtrlCaption = Doc CommandBars("FensterListe").Controls(sCtrlCaption).Enabled = False End Sub
Private Sub App_WindowActivate(ByVal Doc As Document, ByVal Wn As Window) MakeButton sCtrlCaption = Doc Documents(sCtrlCaption).Activate CommandBars("FensterListe").Controls(sCtrlCaption).Enabled = False End Sub
Private Sub App_WindowDeactivate(ByVal Doc As Document, ByVal Wn As Window) MakeButton End Sub

Um dieses Klassenmodul einzubinden, muss im Modul folgender Aufruf deklariert und z.B. in die AutoExec eingebunden werden.


Wichtig:
Wenn Ihr Änderungen innerhalb des Klassenmoduls vornehmt und es dann testen wollt, müsst Ihr erst wieder das Klassenmodul neu registrieren, damit die Änderungen auch bekannt werden.

Das vollständige Modul inkl. Klassenmodul befindet sich in der Download-Datei.

Hinweis:
Obwohl ich versucht habe, alle Ereignisse abzufangen, kann es trotzdem vorkommen, dass die Fensterliste nicht aktualisiert wird. Normalerweise lässt sie sich dann über die erste Schaltfläche aktualisieren. Für Hinweise auf fehlende Ereignisse (am besten mit Lösungen) wäre ich dankbar.

<< Zurück (Teil I)


 Besucher: 6 online  |  9 heute  |  2495 diesen Monat  |  1584058 insgesamt | Seitenaufrufe: 54   Letzte Änderung: 15.11.2007 © 2001-14 Christian Freßdorf
  Habe den Mut zur Wahrheit! Das kostet Dich viele Freunde; aber es zeigt Dir zugleich, was Du an ihnen verlorst.
Leuthold
 powered by phpCMS and PAX