Seite 1 von 1

Calc Daten in Zelle schreiben

Verfasst: Sa 23. Jul 2016, 08:28
von stst
Hallo,

ich habe meine ersten Gehversuche mit der Programmierung von LibreOffice Calc gemacht. Ich habe einen Dialog erzeugt. In diesem Dialog kann man einen Text eingeben, der dann in einer Zelle in Calc ausgegeben werden soll. Dazu habe ich den Code eines Tutorials, das den eingegebene Text in einer Messagebox ausgibt, umgewandelt. Hier der Code:

Dim oDialog1 As Object

Sub Dialog1Show
DialogLibraries.LoadLibrary("Standard")
oDialog1 = CreateUnoDialog( DialogLibraries.Standard.Journal )
oDialog1.Execute()
End Sub

Sub WriteToSheet()
Dim cell_val
oT1 = oDialog1.GetControl("TextField1")
ThisComponent.Sheets(1).getCellByPosition(0,0).Value = oT1.Text
REM cell_val = ThisComponent.Sheets(0).getCellByPosition(0,0)
REM msgbox cell_val.String & chr(13) & "Value from controls: " & oT1.Text
End Sub

Wenn ich einen numerischen Wert eingebe, wird die Zahl korrekt in die Zelle geschrieben. Bei einem Text wird nur 0 geschrieben.

1. Frage: Wie wird auch ein Text als Text ausgegeben
2. Frage: Ich habe schon im Internet nach Informationen zur Programmierung und zu den Objekten und Eigenschaften von LibreOffice gesucht, aber nichts Brauchbares gefunden. Wo bekomme ich Informationen zu den Objekten und deren Methoden und Eigenschaften von LibreOffice, so dass ich nicht bei jeder Eigenschaft im Forum fragen muss? Was würdet Ihr einen Anfänger empfehlen, wie er vorgehen soll, um sich mit der LibreOffice Programmierung vertraut zu machen?

Re: Calc Daten in Zelle schreiben

Verfasst: Sa 23. Jul 2016, 10:09
von F3K Total
Hi,
Es ist nicht ratsam, Text und Zahlen zu vermischen. Anbei ein Beispiel, wie man mit zwei Kontrollfeldern im Dialog, sagen wir mal, sauberer arbeiten kann. Allerdings würde ich für Zahlen und Text jeweils eine eigene Spalte anlegen.
Relativ gute Informationen zur Starbasic Programmierung findest du hier. Starbasic FAQ ist ein guter Einstieg.
Gruß R

Re: Calc Daten in Zelle schreiben

Verfasst: Sa 23. Jul 2016, 13:53
von stst
Vielen Dank für die Hilfe. Damit funktioniert es erst mal.

Dann werde ich mal die Doku durcharbeiten, um ähnlich simple Fragen in Zukunft zu vermeiden.