Seite 1 von 1

Programmoptionen per Makro ändern

Verfasst: Di, 04.08.2009 22:16
von Frauenversteher
Hallo zusammen,

habe mal ne Frage: kann man die Optionen mit einem Makro ändern. Es geht um "Extras > Optionen > OpenOffice.org calc > Allgemein > Referenzen beim Spalten/Zeileneinfügen an deren Rändern ausweiten". Es würde mir einiges erleichtern, wenn die Option per Makro zu aktivieren währe.

Grüße Frauenversteher

Re: Programmoptionen per Makro ändern

Verfasst: Di, 04.08.2009 23:32
von komma4
Willkommen im Forum.


Das folgende Codestück setzt den Schalter wie gewollt um - allerdings wird die Einstellung nicht im Dialog Extras>Optionen...>OpenOffice.org Calc>Allgemein>Referenzen beim Spalten-/Zeileneinfügen an deren Rändern ausweiten angezeigt.

Ob die Änderung während der laufenden OOo-Sitzung wirkt überlasse ich Deinen Tests 8)

Code: Alles auswählen

' 2009-08-04
' Setzen CALC Option 
' Referenzen ausdehnen 
Sub de26259
GlobalScope.BasicLibraries.loadLibrary( "Tools" )
oRegistry_Calc_Input = _
GetRegistryKeyContent("org.openoffice.Office.Calc/Input", TRUE )

If NOT ( oRegistry_Calc_Input.ExpandReference = TRUE ) Then
	' print "Referece Expand not set"
	oRegistry_Calc_Input.setPropertyValue( "ExpandReference", TRUE ) 
	oRegistry_Calc_Input.commitChanges()
End If
End Sub

Gute Nacht!

Re: Programmoptionen per Makro ändern

Verfasst: Mi, 05.08.2009 11:56
von Frauenversteher
Hi Winfried,

danke fürs Willkommen und die schnelle Antwort.

Der Code läuft im Prinzip. aber er greift an einer falschen Stelle ein. Das was ausgelesen wird ist, wie ich es verstehe, nur ein Informations-Flag. das vom Programm verwendet wird. Es wird richtig ausgelesen und verändert, aber es hat keinen Einfluss aus die Programmeigenschaft.


Grüße Frauenversteher

Re: Programmoptionen per Makro ändern

Verfasst: Mi, 05.08.2009 12:36
von komma4
verstehe Deinen reply nicht ...


Was ist ein "Informations-Flag"?



Der Schalter wird durch den Code gesetzt, zieht aber nicht? Du kennst die Einschränkung von ExpandReference (mehr als zwei Zeilen/Spalten)?

Re: Programmoptionen per Makro ändern

Verfasst: Mi, 05.08.2009 13:15
von Frauenversteher
Hi Winfried,

bin kein Informatiker und kenne daher auch nicht eure korrekten Fachausdrücke.

Dein Code erkennt ob im Menü "Referenzen.." gesetzt sind oder nicht.
Wenn "Referenzen.." nicht aktiv ist, wird es beim ersten Aufruf in "If NOT ( oRegistry_Calc_Input.ExpandReference = TRUE ) Then" erkannt und der Code nach then ausgeführt.
Beim zweiten Aufruf wird der Code nach Then nicht ausgeführt. Aber es hat keinen Einfluss auf das Verhalten des Programms.
Wenn ich jetzt im Menue "Referenzen.." aktiviere und wieder deaktiviere beginnt das Spiel von neuem.

Grüße Frauenversteher

Re: Programmoptionen per Makro ändern

Verfasst: Mi, 05.08.2009 14:16
von komma4
Frauenversteher hat geschrieben:Beim zweiten Aufruf wird der Code nach Then nicht ausgeführt. Aber es hat keinen Einfluss auf das Verhalten des Programms.
Der Code setzt den Schalter um - beim erneuten Aufruf ist er umgestellt - logischerweise wird die Anweisung dann nicht noch einmal durchlaufen (bei der Kontrolle der XCU siehst Du, das der Wert auf TRUE steht).
Satz2: das ist, was ich befürchtete, dass die Einstellung anscheinend nicht während des laufenden Programms "zieht" (trotz der .commitChanges()-Anweisung!)
Beende mal nach der Umsetzung OOo - klappt es dann?

Re: Programmoptionen per Makro ändern

Verfasst: Mi, 05.08.2009 14:33
von Frauenversteher
Hi Winfried,

nach einem Neustart bleibt der Wert auf True stehen, am Programmverhalten hat sich jedoch nicht verändert.

Grüße

Re: Programmoptionen per Makro ändern

Verfasst: Mi, 05.08.2009 15:04
von komma4
Sorry - das kann ich so nicht nachvollziehen.

Habe den Schalter auf TRUE (=gesetzt), in A1 und B1 jeweils eine Zahl, die durch eine (Summen-)Formel referenziert wird.
Nun füge ich Spalte C hinzu, und setze eine weitere Zahl ein (wie in der Hilfe beschrieben).

Die Formel erweitert sich auf Spalte C (3.0.1 mit WinXP/pro), die Eingabe wird in der Summe berücksichtigt.

Re: Programmoptionen per Makro ändern

Verfasst: Mi, 05.08.2009 16:50
von Frauenversteher
Hi Winfried,

bei mir funktioniert es nicht:
Bild.

Habe dein Makro aus geführt, neu gestartet, Spalte C aktiviert und eine neue Spalte eingefügt.


Grüße

Re: Programmoptionen per Makro ändern

Verfasst: Mi, 05.08.2009 16:58
von komma4
Kann mich nur wiederholen: in der lfd. Sitzung wirkt die Einstellung nicht - nach einem Neustart ist das Häkchen gesetzt und die Referenz wird erweitert.


Welche OOo Version hast Du?

Re: Programmoptionen per Makro ändern

Verfasst: Mi, 05.08.2009 19:00
von Frauenversteher
Hi Winfried

ich verwende Windows XP, und OpenOffice 3.1.0, OOO310m11 ( Build:9399).

Kann es sein, dass eine andere Einstellung in den Optionen die Übernahme verhindert?

Bild

Oder falscher Ort des Makros?
Grüße

Re: Programmoptionen per Makro ändern

Verfasst: Mi, 05.08.2009 21:48
von komma4
Nein, und nein.

Re: Programmoptionen per Makro ändern

Verfasst: Do, 06.08.2009 10:37
von Frauenversteher
Moin,

kann mir nur noch vorstellen, dass die Windows- und Linux-Versionen sich anders verhalten. Des halb würde ich bitten wollen, dass jemand der Windows XP verwendet den Code von Winfried mal kurz ausprobiert.

Grüße Frauenversteher

Re: Programmoptionen per Makro ändern

Verfasst: Mo, 10.08.2009 11:41
von Frauenversteher
Hallo ich bin es wieder,

bei mir funktioniert es nur nach einem Neustart von Windows, nur OOo neu zu starten bringt nichts. So ist das aber für meine Zwecke nicht zu gebrauchen.


Grüße Frauenversteher