ich habe folgendes Problem. In einem Dialog habe ich ein numerisches Feld eingefügt, weil die User dort nur Zahlenwerte eingeben dürfen. Nun wollte ich den Wert aus dem Feld abrufen, aber die zurückgegebene Variable ist leer. Wohingegen der Wert aus einem Textfeld ohne Probleme ausgelesen wird. Wo ist mein Fehler?
Sub Dialog2Show
Dim Dlg As Object 'Dialogfeld
Dim Zah As Object 'numerisches Feld
Dim Tex As Object 'Textfeld
DialogLibraries.LoadLibrary("Standard")
Dlg = CreateUnoDialog(DialogLibraries.Standard.Dialog1)
Dlg.Execute()
Zah = Dlg.getControl("NumericField1")
MsgBox "'" & Zah.Text & "'" 'hier soll der Inhalt des numerischen Feldes
'angezeigt werden. Aber die Variable ist leer.
Tex = Dlg.getControl("TextField1")
MsgBox "'" & Tex.Text & "'" 'hier wird der Inhalt des Text
'Feldes angezeigt werden
Dlg.dispose()
End Sub
Zuletzt geändert von Sybok am Do, 13.04.2006 13:32, insgesamt 1-mal geändert.
Der Computer ist die logische Weiterentwicklung des Menschen: Intelligenz ohne Moral.
John James Osborne
ganz einfach: Ein numerisches Feld hat keine Eigenschaft "text". Also kannst du auch keine auslesen, es ist ja ein numerisches Feld!
Es gibt (ähnlich wie bei Zellen) verschiedene Inhaltseigenschaften:
.text ' liefert den Textinhalt von Textvariablen als string
.value ' liefert den Wert von numerischen Feldern als int bzw. long
.date ' liefert den Datumswert bei zeit und Datumsfeldern
Ersetze also einfach den "text" mit "value" und schon klappt es.
Wenn Du in einem Dokument ein Zahlen-, Text-, Zeit- oder sonst ein Feld einfügst musst Du erst den Entwurfsmodus verlassen. Wenn Du das gleiche in einem Dialog machst musst du den Testmodus aktivieren damit etwas passiert. Siehe die beiden Bilder.
Grüsse
Götz
Zahlenfeld in einem Dokument
Zahlenfeld in einem Dialog
Der Computer ist die logische Weiterentwicklung des Menschen: Intelligenz ohne Moral.
John James Osborne