Programmoptionen per Makro ändern

Das Tabellenkalkulationsprogramm

Moderator: Moderatoren

Benutzeravatar
Frauenversteher
*
Beiträge: 10
Registriert: Sa, 01.08.2009 17:37
Wohnort: Der dritte Planet in einem unscheinbaren Sonnensystem

Programmoptionen per Makro ändern

Beitrag 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
Benutzeravatar
komma4
********
Beiträge: 5332
Registriert: Mi, 03.05.2006 23:29
Wohnort: Chon Buri Thailand Asia
Kontaktdaten:

Re: Programmoptionen per Makro ändern

Beitrag 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!
Cheers
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
Benutzeravatar
Frauenversteher
*
Beiträge: 10
Registriert: Sa, 01.08.2009 17:37
Wohnort: Der dritte Planet in einem unscheinbaren Sonnensystem

Re: Programmoptionen per Makro ändern

Beitrag 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
Benutzeravatar
komma4
********
Beiträge: 5332
Registriert: Mi, 03.05.2006 23:29
Wohnort: Chon Buri Thailand Asia
Kontaktdaten:

Re: Programmoptionen per Makro ändern

Beitrag 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)?
Cheers
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
Benutzeravatar
Frauenversteher
*
Beiträge: 10
Registriert: Sa, 01.08.2009 17:37
Wohnort: Der dritte Planet in einem unscheinbaren Sonnensystem

Re: Programmoptionen per Makro ändern

Beitrag 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
Benutzeravatar
komma4
********
Beiträge: 5332
Registriert: Mi, 03.05.2006 23:29
Wohnort: Chon Buri Thailand Asia
Kontaktdaten:

Re: Programmoptionen per Makro ändern

Beitrag 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?
Cheers
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
Benutzeravatar
Frauenversteher
*
Beiträge: 10
Registriert: Sa, 01.08.2009 17:37
Wohnort: Der dritte Planet in einem unscheinbaren Sonnensystem

Re: Programmoptionen per Makro ändern

Beitrag von Frauenversteher »

Hi Winfried,

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

Grüße
Benutzeravatar
komma4
********
Beiträge: 5332
Registriert: Mi, 03.05.2006 23:29
Wohnort: Chon Buri Thailand Asia
Kontaktdaten:

Re: Programmoptionen per Makro ändern

Beitrag 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.
Cheers
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
Benutzeravatar
Frauenversteher
*
Beiträge: 10
Registriert: Sa, 01.08.2009 17:37
Wohnort: Der dritte Planet in einem unscheinbaren Sonnensystem

Re: Programmoptionen per Makro ändern

Beitrag 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
Benutzeravatar
komma4
********
Beiträge: 5332
Registriert: Mi, 03.05.2006 23:29
Wohnort: Chon Buri Thailand Asia
Kontaktdaten:

Re: Programmoptionen per Makro ändern

Beitrag 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?
Cheers
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
Benutzeravatar
Frauenversteher
*
Beiträge: 10
Registriert: Sa, 01.08.2009 17:37
Wohnort: Der dritte Planet in einem unscheinbaren Sonnensystem

Re: Programmoptionen per Makro ändern

Beitrag 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
Benutzeravatar
komma4
********
Beiträge: 5332
Registriert: Mi, 03.05.2006 23:29
Wohnort: Chon Buri Thailand Asia
Kontaktdaten:

Re: Programmoptionen per Makro ändern

Beitrag von komma4 »

Nein, und nein.
Cheers
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
Benutzeravatar
Frauenversteher
*
Beiträge: 10
Registriert: Sa, 01.08.2009 17:37
Wohnort: Der dritte Planet in einem unscheinbaren Sonnensystem

Re: Programmoptionen per Makro ändern

Beitrag 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
Benutzeravatar
Frauenversteher
*
Beiträge: 10
Registriert: Sa, 01.08.2009 17:37
Wohnort: Der dritte Planet in einem unscheinbaren Sonnensystem

Re: Programmoptionen per Makro ändern

Beitrag 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
Antworten