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]

Antwort per Email an