🙏 Helfen Sie jetzt mit, unser LibreOffice Forum zu erhalten! 🙏
Mit Ihrer Spende sichern Sie den Fortbestand, den Ausbau und die laufenden Kosten dieses Forums. 🌱

🍀 Jeder Beitrag zählt – vielen Dank für Ihre Unterstützung!🍀

❤️ DANKE >> << DANKE ❤️

>> Dank Ihrer Unterstützung -> Keine Werbung für alle registrierten LibreOffice-Forum User! <<
🤗 Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet. 🤗

Formular Steuerelemente nicht dauerhaft einstellbar

Alles zur Programmierung im LibreOffice.
step
Beiträge: 30
Registriert: Sa 12. Jan 2013, 20:50

Formular Steuerelemente nicht dauerhaft einstellbar

Beitrag von step » Di 15. Okt 2013, 17:46

hallo,

ich habe folgendes Problem:

Beim ersten Versuch, etwas Wissen in Sachen Makroprogrammierung aufzubauen habe ich ein Beispiel
abgeschrieben. Das hat nach etwas nachstellen gut funktioniert. Auf einem Zeichnungsblatt
wurden dabei auch Steuerelemente erzeugt (manuell, nicht per Makro). In den Eigenschaften wurden Schrift, Ausrichtung eingestellt.

Und darum geht es. Nach dem Öffnen des Dokumentes waren die Einstellungen für die Schrift,
Schriftgröße, Ausrichtung verschwunden. Stattdessen wurde bei Schrift 'Standard' angezeigt und
bei Ausrichtung 'Links' (es sollte an der Stelle 'zentriert' stehen. Beim Klick auf 'Standard' bei
Schrift zeigt der Schriftdialog Arial 10 Punkt an. Wo das herkommt, keine Ahnung. In der
Dokumentvorlage steht was anderes.

Zusammengefasst: Beim Erstellen der Steuerelemente ist alles ganz normal, nach einem Neu-
laden oder Öffnen sind die manuellen Änderungen weg.

Hat jemand eine Idee, wo das herkommt oder besser, wie man es wegbekommt?

Ich hoffe, dass das Problem erkennbar ist, wenn nicht, dann nachfragen.

Ich freue mich über jeden Hinweis.

Libo 3.6.2
Linux Suse 11.3

Gruß Step

LibreOffice 3.6.2.2 unter Linux Suse 11.3
Schwerpunkt: Makroprogrammierung von Draw
Zuletzt geändert von step am Mi 8. Apr 2015, 19:27, insgesamt 2-mal geändert.
Windows 7 - LibreOffice 3.5.7
Debian 7.8.0 KDE - LibreOffice 3.5.5

F3K Total
* LO-Experte *
Beiträge: 2501
Registriert: So 10. Apr 2011, 10:10

Re: Formular Steuerelemente nicht dauerhaft einstellbar

Beitrag von F3K Total » Di 15. Okt 2013, 19:27

Hi,
es sieht so aus, dass Steuerelemente "von Hand" nur im Entwurfsmodus des Formulares angelegt, und dann gespeichert werden müssen.
Das gilt auch für automatisiert Erzeugte.
Also:
  • Formularentwurfsmodus einschalten
  • Makro laufen lassen
  • Dokument, bei Base erst das Formular dann die .odb Datei, speichern.
So sollte alles erhalten bleiben.
HTH
Gruß R
Windows 11: AOO, LO Linux Mint: AOO, LO

step
Beiträge: 30
Registriert: Sa 12. Jan 2013, 20:50

Re: Formular Steuerelemente nicht dauerhaft einstellbar

Beitrag von step » Do 17. Okt 2013, 12:27

Hallo F3K Total,

danke für den Tip, ich werde das nochmal explizit testen.

Bisher war es allerdings so, dass ich nach dem Einstellen der Formulareigenschaften gespeichert und neugeladen habe, um die 'zukünftige' Erscheinung zu erhalten. Es ist natürlich auf Dauer nicht akzeptabel.

Ich melde mich wieder mit dem Ergebnis,


Gruß Step
Windows 7 - LibreOffice 3.5.7
Debian 7.8.0 KDE - LibreOffice 3.5.5

F3K Total
* LO-Experte *
Beiträge: 2501
Registriert: So 10. Apr 2011, 10:10

Re: Formular Steuerelemente nicht dauerhaft einstellbar

Beitrag von F3K Total » Do 17. Okt 2013, 18:48

Hi,
step hat geschrieben:auf Dauer nicht akzeptabel
Na das wechsle doch per Makro in den Entwurfsmodus, speichere per Makro und wechsle zurück.
Geht, habe ich schon gemacht.
Gruß R
Windows 11: AOO, LO Linux Mint: AOO, LO

step
Beiträge: 30
Registriert: Sa 12. Jan 2013, 20:50

Re: Formular Steuerelemente nicht dauerhaft einstellbar

Beitrag von step » Fr 18. Okt 2013, 17:42

@F3K Total,

Ich habe es noch mal geprüft, das Verhalten ist so wie oben beschrieben. Mich interessiert an der Stelle,
ob es ein normales und gewolltes Verhalten ist, oder ob es an LibreOffice liegt.
Na das wechsle doch per Makro in den Entwurfsmodus, speichere per Makro und wechsle zurück.
Ich bin derzeit fast ein Newby. Theoretisch hatte ich mir das auch schon überlegt. Derzeit allerdings
weis ich nicht, wie das geht.

Gruß Step
Windows 7 - LibreOffice 3.5.7
Debian 7.8.0 KDE - LibreOffice 3.5.5

F3K Total
* LO-Experte *
Beiträge: 2501
Registriert: So 10. Apr 2011, 10:10

Re: Formular Steuerelemente nicht dauerhaft einstellbar

Beitrag von F3K Total » Fr 18. Okt 2013, 18:37

Hi,
so geht es, wenn das Makro bei geschlossenem Formular ausgeführt wird.
"Formular" muss zweimal durch den Namen des Formulares ersetzt werden.

Code: Alles auswählen

sub S_modify_form
    Dim oParms(1) As New com.sun.star.beans.PropertyValue
    ocontroller = Thisdatabasedocument.Currentcontroller
    if not ocontroller.isconnected then ocontroller.connect
    oactiveConnection = oController.activeConnection
    oDoc = Thisdatabasedocument.formdocuments.getbyname("Formular")
    if not isnull (oDoc.getComponent) then
        odoc.opendesign
    else
        oDocname = oDoc.name
        oParms(0).name = "OpenMode"
        oParms(0).value = "openDesign"
        oParms(1).name = "ActiveConnection"
        oParms(1).value = oactiveConnection
        oFormDocs = ThisComponent.FormDocuments
        oFormDocs.loadComponentFromURL(oDocname, "", 0, oParms())
    endif
    oDoc = Thisdatabasedocument.formdocuments.getbyname("Formular")
    
    msgbox "hier Änderungen am Formular einbauen"
    
    odoc.store
    Thisdatabasedocument.store
    odoc.close
    odoc.open
end sub
Viel Erfolg
Gruß R
Windows 11: AOO, LO Linux Mint: AOO, LO

step
Beiträge: 30
Registriert: Sa 12. Jan 2013, 20:50

Re: Formular Steuerelemente nicht dauerhaft einstellbar

Beitrag von step » Sa 19. Okt 2013, 12:47

Hallo F3k TOTAL,

danke für das Listing. Es sieht so aus, als geht es dabei um ein Formular in
einem Basedokument. Ich werde es mal testen, schauen, was passiert.

Mein spezielles Problem hier bezieht sich allerdings auf ein Draw-Dokument.
Die Formularcontrollelemente befinden sich dabei direkt auf der Zeichnungsseite.

BREAK: Die online-Zeit ist leider abgelaufen, ich melde mich am Montag nochmal,

Gruß Step
Windows 7 - LibreOffice 3.5.7
Debian 7.8.0 KDE - LibreOffice 3.5.5

F3K Total
* LO-Experte *
Beiträge: 2501
Registriert: So 10. Apr 2011, 10:10

Re: Formular Steuerelemente nicht dauerhaft einstellbar

Beitrag von F3K Total » Sa 19. Okt 2013, 13:48

Hi,
na in DRAW gehts doch ganz leicht:

Code: Alles auswählen

Sub S_modify_form_draw
    ocontroller = thiscomponent.currentcontroller
    if ocontroller.isFormDesignMode  = false then 'Formdesignmode
       ocontroller.FormDesignMode = true
    endif
    msgbox "An dieser Stelle Änderungen im Formular einbauen"
    Thiscomponent.store
    ocontroller.FormDesignMode = false
End Sub
Windows 11: AOO, LO Linux Mint: AOO, LO

step
Beiträge: 30
Registriert: Sa 12. Jan 2013, 20:50

Re: Formular Steuerelemente nicht dauerhaft einstellbar

Beitrag von step » Mo 21. Okt 2013, 12:34

Hi F3K total,

dass das alles recht einfach ist, wenn man weiß, wie es zusammenhängt, ist mir schon klar;-)

Also: Ich habe das Listing mal an einer kleinen Beispieldatenbankdatei getestet. (Ich habe hinter dem
ersten IF ein End If eingefügt). Es läuft bis 'oFormDocs.loadComponentFromUrl(oDocName, "", 0, oParms())'.
Da gibt es eine Fehlermeldung. Ich glaube allerdings, das es an einem Schreibfehler liegt.

Analog zum Problem im ersten Beitrag in Draw habe ich auch hier im Base-Formular einige Controlls manuell im Designmodus
geändert und das Ganze manuell gespeichert. Nach dem Neuladen waren die Eigenschaften so, wie ich sie einge-
stellt hatte. Und genauso hätte ich es bei Draw eben auch erwartet.

Ich teste nochmal das Base-Listing und auch das für Draw. Ich melde mich dann,

Gruß Step
Zuletzt geändert von step am Do 5. Dez 2013, 17:32, insgesamt 1-mal geändert.
Windows 7 - LibreOffice 3.5.7
Debian 7.8.0 KDE - LibreOffice 3.5.5

step
Beiträge: 30
Registriert: Sa 12. Jan 2013, 20:50

Re: Formular Steuerelemente nicht dauerhaft einstellbar

Beitrag von step » Do 24. Okt 2013, 14:42

So, ich habe das Base-Listing nochmal ausprobiert und nach ein paar Korrekturen hat es funktioniert.
Ich konnte per Makro das Formular öffnen, den Entwurfs-Modus ein- und ausschalten und das Ganze auch
öffnen und schließen. Was noch fehlt ist die Veränderung der Eigenschaften der Controlls per Makro.

Ich habe einiges an Literatur zur Makroprogrammierung gefunden und werde mich da erst einmal etwas weiterbilden.

Natürlich bin ich für alle weiteren Tips immer offen,

Gruß step
Zuletzt geändert von step am Do 5. Dez 2013, 17:29, insgesamt 1-mal geändert.
Windows 7 - LibreOffice 3.5.7
Debian 7.8.0 KDE - LibreOffice 3.5.5


An alle, die das LibreOffice-Forum gern nutzen und unterstützen wollen:


Bitte helfen Sie uns mit 7 Euro pro Monat.
Durch Ihren Beitrag tragen Sie dazu bei, unsere laufenden Kosten für die kommenden Monate zu decken.
Unkompliziert per Kreditkarte oder PayPal.
Als ein kleines Dankeschön werden Sie im LO-Forum als SUPPORTER gekennzeichnet.



Antworten