hab das Thema schon im Forum "Calc" angesprochen, die meinten ich soll mich an euch wenden.
AAAlso...
Ich hab eine Calc-Datei mit vielen Formularen (Textfelder, Optionsfelder, usw.) welche mir helfen verschiedenste Rechenabläufe durch "Knopfdrücken" zu erledigen.
Jedes hat somit eine Verbundene Zelle, welche dann mittels calc-formeln die weitere Berechnung ausführt. Soweit so gut.
Nun zu meiner Frage: kann man mit einem Macro, oder ähnlichen. Ein Formularfeld in seiner Eigenschaft, Aussehen oder Funktion ändern?
Bsp.:wenn Optionsfeld 1 Wahr ist, Beschriftungsfeld 3 einen grünen Hintergrund bekommt wenn nicht, dann wird es grau... (oder nur lesbar... oder oder oder...)
Ich hab versucht nen Makro selbst zu erstellen, indem ich einfach mal aufgenommen hab, was er ändern soll wenn ich den "Knopf" drücke und wieder rückgängig.
dabei raus kam das:
Code: Alles auswählen
sub Formularbedingung
rem ----------------------------------------------------------------------
rem define variables
dim document as object
dim dispatcher as object
rem ----------------------------------------------------------------------
rem get access to the document
document = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
rem ----------------------------------------------------------------------
dim args1(0) as new com.sun.star.beans.PropertyValue
args1(0).Name = "ControlProperties"
args1(0).Value = true
dispatcher.executeDispatch(document, ".uno:ControlProperties", "", 0, args1())
rem ----------------------------------------------------------------------
dim args2(0) as new com.sun.star.beans.PropertyValue
args2(0).Name = "ShowProperties"
args2(0).Value = false
dispatcher.executeDispatch(document, ".uno:ShowProperties", "", 0, args2())
rem ----------------------------------------------------------------------
dim args3(0) as new com.sun.star.beans.PropertyValue
args3(0).Name = "ShowProperties"
args3(0).Value = false
dispatcher.executeDispatch(document, ".uno:ShowProperties", "", 0, args3())
end sub
sub Formularbedingung2
rem ----------------------------------------------------------------------
rem define variables
dim document as object
dim dispatcher as object
rem ----------------------------------------------------------------------
rem get access to the document
document = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
rem ----------------------------------------------------------------------
dim args1(0) as new com.sun.star.beans.PropertyValue
args1(0).Name = "ToPoint"
args1(0).Value = "$O$11"
dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args1())
rem ----------------------------------------------------------------------
dim args2(0) as new com.sun.star.beans.PropertyValue
args2(0).Name = "ControlProperties"
args2(0).Value = true
dispatcher.executeDispatch(document, ".uno:ControlProperties", "", 0, args2())
rem ----------------------------------------------------------------------
dim args3(0) as new com.sun.star.beans.PropertyValue
args3(0).Name = "ShowProperties"
args3(0).Value = false
dispatcher.executeDispatch(document, ".uno:ShowProperties", "", 0, args3())
rem ----------------------------------------------------------------------
dim args4(0) as new com.sun.star.beans.PropertyValue
args4(0).Name = "ShowProperties"
args4(0).Value = false
dispatcher.executeDispatch(document, ".uno:ShowProperties", "", 0, args4())
end sub
Vielen Dank im Voraus