Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
940to944
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
940to944
940to944
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

TextBox.MultiLine = True

TextBox.MultiLine = True
14.01.2008 19:26:12
thomas.dreitz@gmx.de
Hallo,
ich hab ein Problem, bei dem mir Debuggen nicht mehr weiterhilft.
Zur Ausgabe eines bis zu ca. 120 Zeilen langen Protokolls habe ich in einem Formular eine TextBox definiert mit vertikalen Scroll-Balken und den Eigenschaften MultiLine = True und WordWrap = True.
Funktioniert so weit ganz gut, allerdings scrollt der Text nach einer Weile nicht mehr weiter, nach Ende des Programms ist allerdings der gesamte Protokolltext mittels Scrollen einzusehen.
Ich habe festgestellt, dass die Box immer an der jeweils gleichen Stelle "stehen bleibt", die allerdings je nach Protokolltext wiederum verschieden ist (also z.B. nicht ! etwa nach der 30. Zeile). Es betrifft auch nicht eine bestimmte Stelle des Programms, von der aus die Protokollfunktion aufgerufen wird.
Ich finde also keinen Ansatzpunkt, woran es liegen könnte.
Hier der Quelltext:

'* Durch Aufruf der Sub wird der Protokollsatz sukzessive erweitert und erneut ausgegeben
Sub Protokoll(Text As String)
UTB.SetFocus
UTB.Text = UTB.Text & Text & Chr$(10)
UTB.SelStart = Len(UTB.Text)
UTB.SetFocus
Application.Wait TimeSerial(Hour(Now()), Minute(Now()), Second(Now()) + 1)
End Sub


Aufrufbeispiel:


Protokoll ("Gelöscht: " & CountDelete & " Zeilen von " & Sheets(i).Name)


Als Ereignisprozedur zur TextBox existiert:


Private Sub TextBox1_Change()
UTB.SelStart = Len(UTB.Text)
UTB.SetFocus
End Sub


Vielleicht weiß jemand einen Ansatzpunkt, wo ich den "Fehler" suchen muss.
Danke.

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: TextBox.MultiLine = True
14.01.2008 20:20:27
MichaV
Hallo,
versuch mal
UTB.SelStart = Len(UTB.Text)
DoEvents
UTB.SetFocus
Gruß- Micha
PS: Rückmeldung wäre nett.

AW: TextBox.MultiLine = True
14.01.2008 21:11:39
thomas.dreitz@gmx.de
Hallo Micha,
Super, es funktioniert. Danke !
An DoEvents hätte ich nie gedacht. Was ist der Hintergrund ? Der eigentliche Sinn ist ja, andere anstehende Ereignisse verarbeiten zu lassen. Ich benutze die TextBox in mehreren Skripten und verarbeite unterschiedlich lange Dateien, die unterschiedliche Reaktionen auslösen und somit stets ein anderes Protokoll hervorbringen. Dabei "hing die TextBox" an verschiedensten Stellen, jedoch war das Ergebnis mit dem gleichen Skript und der gleichen Eingabedatei genau reproduzierbar.
Gruß
Thomas

Anzeige
AW: TextBox.MultiLine = True
14.01.2008 21:24:00
MichaV
Hallo,
die TextBox hatte keine Zeit, den Text darzustellen. DoEvents wartet, bis sie damit fertig ist.
Gruß- Micha

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige