2
www.ChF-Online.de  

Ansicht der Dokumentstruktur steuern

   Neuigkeiten
   API-Aufrufe in VBA
   VBA2HTML
   Word
   Word-VBA
aktiv aktiv Verschiedenes
 Dateiname ohne Endung
aktiv  Dokumentstrukturanzeige
 Fenster anordnen
 Fensterliste
 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 Word2000Getestet unter WordXPGetestet unter Word2003  
Beispiel anzeigen
Makro/Datei speichern
Print

Word bietet zur schnelleren Navigation zwischen den Überschriften im Dokument die Dokumentstruktur an. Ist diese eingeblendet, zeigt sie alle im Dokument enthaltenen Überschriften an. Über das Kontextmenü dieser Einträge kann die Anzeige der Überschriften gesteuert werden. indem die Überschriftstruktur auf- bzw. zugeklappt wird und somit die sichtbaren Einträge auf die ausgewählten Ebenen reduziert bzw. erweitert.
Die Formatierung der Dokumentstrukureinträge erfolgt über den Formatvorlagenkatalog.

In diesem Beispiel wird gezeigt, wie sich aus VBA diese Anzeige ansteuern und ändern lässt.

Das Setzen der aufgelappten Überschriften erfolgt über die .ShowHeading-Eigenschaft der Fensteransicht (View-Objekt), indem die anzuzeigenden Ebene als Parameter angegeben wird:

oView.ShowHeading (iLevel)

Die folgende Prozedur wertet eine Auswahlliste mit den Ebenen aus, blendet die Dokumentstruktur ein und setzt die Ansicht der Dokumentstruktur auf die in der Auswahlliste ausgewählte Ebene.

Sub ManageDisplayDocStructure()  
Dim oDoc As Document, oView As View
Dim iLevel  As Integer 
' Auswahl auswerten  
iLevel = CommandBars("DocStructure").Controls("DocLevel").ListIndex - 1
If iLevel = 0 Then Exit Sub 
Set oDoc = ActiveDocument
' Dokumentstruktur einblenden  
ActiveWindow.DocumentMap = True 
Set oView = oDoc.Windows(1).View
oView = wdPrintView
' Dokumentstruktur anpassen  
oView.ShowHeading (iLevel)
Set oView = Nothing 
Set oDoc = Nothing 
End Sub 

Die Symbolleiste mit der Auswahlliste wird in nachstehender Prozedur erzeugt. Zuerst wird geprüft, ob die Symbolleiste bereits existiert und ggf. angelegt; anschließend wird die Auswahlliste mit den Einträgen angelegt. Damit die Auswahlliste auch auf die Auswahl reagieren kann, wird das Makro Link ManageDisplayDocStructure der .OnAction-Eigenschaft zugewiesen.

Sub MakeSymLeiste()  
Dim cbar As CommandBar  
Dim ctl As CommandBarComboBox  
On Error Resume Next  
' Symbolleiste identifizieren/anlegen  
Set cbar = CommandBars("DocStructure")  
If cbar Is Nothing Then  
  Set cbar = CommandBars.Add("DocStructure", , , True)  
End If  
' ComboBox identifizieren/anlegen  
Set ctl = cbar.FindControl(msoControlComboBox, 1, "DocLevel", True)  
If ctl Is Nothing Then  
  Set ctl = cbar.Controls.Add(Type:=msoControlComboBox)  
End If  
' Einträge festlegen  
With ctl  
  .Tag = "DocLevel"  
  .Caption = "DocLevel"  
  .Clear  
  .AddItem "Ebenen einblenden"  
  .AddItem "Ebene 1"  
  .AddItem "Ebene 2"  
  .AddItem "Ebene 3"  
  .AddItem "Ebene 4"  
  .AddItem "Ebene 5"  
  .AddItem "Ebene 6"  
  .AddItem "Ebene 7"  
  .AddItem "Ebene 8"  
  .AddItem "Ebene 9"  
  .Visible = True  
  .Width = 115  
  .ListIndex = 1  
  ' Makro zuweisen  
  .OnAction = "ManageDisplayDocStructure"  
End With  
On Error GoTo 0  
cbar.Visible = True  
' Aufräumen  
Set ctl = Nothing  
Set cbar = Nothing  
End Sub 

Zum Verwenden des Beispiels importiert das Modul in die gewünschte Dokumentvorlage und ruft die Prozedur Link MakeSymLeiste auf.
Anschließend sollte die Symbolleiste mit der Auswahlliste angezeigt werden.
 


 Besucher: 0 online  |  0 heute  |  0 diesen Monat  |  2232509 insgesamt | Seitenaufrufe: 77   Letzte Änderung: 24.06.2006 © 2001-18 Christian Freßdorf
  In zweifelhaften Fällen entscheide man sich für das Richtige.
Karl Kraus
 powered by phpCMS and PAX