2
www.ChF-Online.de  

Debug-Information außerhalb der VBA-IDE anzeigen

   Neuigkeiten
   API-Aufrufe in VBA
   VBA2HTML
   Word
   Word-VBA
 Verschiedenes
 Feld-Arbeiten
 Form-Sachen
 Menü-/Symbolleisten
 VBA und Lotus Notes
 VBA und Mail
aktiv aktiv Inside VBAIDE
aktiv  Debug-Informationen
 Module verwalten (I)
 Module verwalten (II)
 VBA-Module exportieren
 Prozedur-Übersicht (I)
 Prozedur-Übersicht (II)
 Projekt-Verweise
 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  
Beispiel anzeigen
Makro/Datei speichern
Print

Dieses Beispiel soll zeigen, wie sich Debug-Informationen auch bei geschlossener VBA-Umgebung anzeigen lassen.
Normalerweise kann eine Ausgabe mittels des Befehles Debug.Print in der VBA-Umgebung im Direktfenster ausgegeben werden. Führt man aber ein Makro bei geschlossener VBA-Umgebung aus, muss man erst wieder selbige aufrufen, um die Debug-Ausgaben zu sehen.

Damit die Tracking-Informationen sichtbar sind, muss die Ausgabe irgendwo im Word-Fenster erfolgen.
Aus diesem Grund wird in diesem Beispiel eine Auswahlliste in einer Symbolleiste verwendet.

Innerhalb des VBA-Codes wird eine Funktion aufgerufen, der der auszugebende Text als Paramter mitgegeben wird. Die aufgerufene Funktion bewirkt letztendlich nur, dass der Text in der Auswahlliste einer neu angelegten Symbolleiste angezeigt wird.

Public Function AddTrackInfo(ByVal str As String)  
' Aufruf aus anderen Prozeduren  
Dim ctl As CommandBarControl 
Set ctl = GetBar  
If str = "Clear" Then 
 ' Löschen der Tracking-Infos  
   fkt_TrackClear  
Else  
   ctl.AddItem ctl.ListIndex + 1 & ". " & str
 ' Setzen der Anzeige auf den letzten Eintrag  
  ctl.ListIndex = ctl.ListCount  
End If  
On Error Resume Next 
DoEvents
End Function 

Der Aufruf innerhalb des Codes erfolgt dann folgendermaßen:

AddTrackInfo "Ausgabetext"

Beispiel:
Es werden der Reihe nach Zufallszahlen generiert und an den Tracker weitergereicht. Dieser zeigt sie dann in der Auswahlliste an.
Um dieses Beispiel auszuprobieren, sollte das Fenster der VBA-Umgebung ggf. soweit minimiert werden, dass die Symbolleisten in Word zu sehen sind.

Sub BeispielTracker()  
Dim i As Integer  
AddTrackInfo "Clear"  
For i = 1 To 10  
  AddTrackInfo Rnd(i * i)  
  Sleep 500  
  DoEvents  
Next i  
End Sub  

 Besucher: 0 online  |  0 heute  |  0 diesen Monat  |  2200338 insgesamt | Seitenaufrufe: 27   Letzte Änderung: 24.06.2006 © 2001-18 Christian Freßdorf
  In Begriffen denken, in Kategorien einteilen, das ist so automatisch wie Luftholen.
Wolf Biermann
 powered by phpCMS and PAX