Liebe Liste,
für einen anderen Thread habe ich gestern versucht, einen Timestamp über ein
Makro zu erzeugen, den Timestamp anschließend in ein Formularfeld zu
schreiben und letztlich abzuspeichern.
Folgender Zugriff war der Erste:
Sub Stamp
DIM odoc AS OBJECT
DIM odrawpage AS OBJECT
DIM oform AS OBJECT
DIM ostamp AS OBJECT
odoc=thisComponent
odrawpage=odoc.drawpage
oform=odrawpage.forms.getByName("MainForm")
ostamp=oform.getByName("Stamp")
ostamp.Text = now()
End Sub
Der Timestamp erscheint in dem Formularfeld "Stamp". Der Speicherbutton zeigt
allerdings nicht an, dass das Formular diese Änderung wahrnimmt. Erst wenn
ich in das Formularfeld gehe und eine Ziffer ändere wird der gesamte Inhalt
als Änderung wahrgenommen. Der Timestamp wird gespeichert.
Folgender Zugriff ist der Zweite:
Sub Stamp2
DIM odoc AS OBJECT
DIM odrawpage AS OBJECT
DIM DocCrl AS OBJECT
DIM oform AS OBJECT
DIM oSel as new com.sun.star.awt.Selection
odoc=thisComponent
odrawpage=odoc.drawpage
oform=odrawpage.forms.getByName("MainForm")
DocCrl = ThisComponent.getCurrentController()
oControl=oform.getByName("Stamp")
oSel.Min = 0
oSel.Max = 19
DocCrl.GetControl(oControl).insertText(oSel,now())
DocCrl.GetControl(oControl).enable = True
End Sub
Vorhandene Elemente werden markiert und überschrieben. Der Inhalt erscheint,
der Speicherbutton signalisiert eine Änderung. Nur wird leider auch hier
nichts gespeichert, da der Button auf ein Drücken nicht reagiert.
Wie erreiche ich, dass Formularinhalte auch von der Speicherfunktion
übernommen werden?
Gruß
Robert
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]