Aktuelle Seite:
/vba/vbacodetracker.htm
Letzte Änderung: 24.06.2006

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  

 www.chf-online.de/vba/vbacodetracker.htm © 2001-11 Christian Freßdorf (Zaphod-Systems)