10.10.2020, 03:01
Hallo Olaf,
ich habe mir die Datei heruntergeladen, das VBA-Projekt ist dabei!
In der VarINI() sollte die Globale Variable „Breit“ mit der Eigenschaft „SizeWidth“ initialisiert werden, nicht mit „SizeHeight“.
Die Eigenschaft „MaxLength“ der Textfelder würde ich schon bei der Initialisierung des Dialogs festlegen, nicht erst bei der Aktivierung. Dazu müsstest Du die Prozedur „UserForm_Initialize()“ anlegen.
Wenn Du die Eigenschaft schon beim Einfügen der Textboxen in den Dialog im Eigenschaftsfenster festlegst, brauchst Du gar keinen Code zu schreiben. Die Prozedur „UserForm_Initialize()“ könntest Du Dir dann also sparen:
Die Eigenschaften „Value“ und „Text“ der Textfelder verweisen auf den identischen Inhalt.
mit dem Befehl TextBox1.Value = 1 überschreibst Du also den Inhalt, der vorher mit TextBox1.Text = GText(Breit) festgelegt wurde. Wenn ich diese Überschreibungen auskommentiere, funktioniert der Dialog.
Auch ich wünsche Dir ein schönes Wochenende.
Gruß
Koter
ich habe mir die Datei heruntergeladen, das VBA-Projekt ist dabei!
In der VarINI() sollte die Globale Variable „Breit“ mit der Eigenschaft „SizeWidth“ initialisiert werden, nicht mit „SizeHeight“.
Code:
'die Globalen Variablen mit Werten füllen
Hoch = oScheibe.SizeHeight
Breit = oScheibe.SizeWidth ' geändert von SizeHeight auf SizeWidth
DRHoch = oDurchreiche.SizeHeight
DRBreit = oDurchreiche.SizeWidth
Die Eigenschaft „MaxLength“ der Textfelder würde ich schon bei der Initialisierung des Dialogs festlegen, nicht erst bei der Aktivierung. Dazu müsstest Du die Prozedur „UserForm_Initialize()“ anlegen.
Code:
Private Sub UserForm_Initialize()
TextBox1.MaxLength = 3
TextBox2.MaxLength = 3
TextBox3.MaxLength = 3
TextBox4.MaxLength = 3
TextBox5.MaxLength = 10
TextBox6.MaxLength = 5
End Sub
Wenn Du die Eigenschaft schon beim Einfügen der Textboxen in den Dialog im Eigenschaftsfenster festlegst, brauchst Du gar keinen Code zu schreiben. Die Prozedur „UserForm_Initialize()“ könntest Du Dir dann also sparen:
Die Eigenschaften „Value“ und „Text“ der Textfelder verweisen auf den identischen Inhalt.
mit dem Befehl TextBox1.Value = 1 überschreibst Du also den Inhalt, der vorher mit TextBox1.Text = GText(Breit) festgelegt wurde. Wenn ich diese Überschreibungen auskommentiere, funktioniert der Dialog.
Code:
Private Sub UserForm_Activate() 'Textfelder beim aktivieren des Dialogs belegen
TextBox1.Text = GText(Breit)
TextBox2.Text = GText(Hoch)
TextBox3.Text = GText(DRBreit)
TextBox4.Text = GText(DRHoch)
TextBox5.Text = GText(Dateiname)
TextBox6.Text = GText(Anzahl)
'den Text in Textbox1 auswählen
TextBox1.SelStart = 0
TextBox1.SelLength = 100
' TextBox1.Value = 1
' TextBox2.Value = 1
' TextBox3.Value = 1
' TextBox4.Value = 1
' TextBox5.Value = 1
' TextBox6.Value = 1
'
End Sub
Auch ich wünsche Dir ein schönes Wochenende.
Gruß
Koter