Hi Frédéric, > I need to create a checkbox in oowriter document with an external script in
here is a starbasic example how to add a command button into a writer document. HTH Oliver ------------------------ Option Explicit Sub CreateControl Dim oDocument as Object Dim oView as Object Dim oDrawPage as Object Dim oController as Object Dim oForm as Object Dim oEvents(0) as New com.sun.star.script.ScriptEventDescriptor Dim oControlShape as Object Dim oControlModel as Object Dim oSize as New com.sun.star.awt.Size Dim oPosition as New com.sun.star.awt.Point oDocument = StarDesktop.getCurrentComponent oView = oDocument.CurrentController ' calc document's ' oDrawPage = oView.getActiveSheet.DrawPage oDrawPage = oDocument.getDrawPage() oControlShape = oDocument.createInstance("com.sun.star.drawing.ControlShape") oSize.Height = 1000 oSize.Width = 3000 oPosition.X = 2000 oPosition.Y = 3000 oControlShape.setSize(oSize) oControlShape.SizeProtect = True oControlShape.setPosition(oPosition) oControlShape.MoveProtect = True oControlShape.setPropertyValue("AnchorType", com.sun.star.text.TextContentAnchorType.AT_PAGE) oControlShape.Name("My Shape") ' optional name for identification ... oControlModel = createUNOService("com.sun.star.form.component.CommandButton") oControlModel.Name = "My Control" oControlModel.Label = "Test" oControlModel.FontName = "Arial" oControlModel.FontHeight = 10 oControlModel.Tag = "Hello World !" oControlModel.Enabled = True oControlShape.setControl(oControlModel) oDrawPage.add(oControlShape) oController = oView.getControl(oControlModel) oController.SetFocus() oForm = oDrawPage.getForms.getByIndex(0) oEvents(0).ListenerType = "XActionListener" oEvents(0).EventMethod = "actionPerformed" oEvents(0).AddListenerParam = "" oEvents(0).ScriptType = "StarBasic" oEvents(0).ScriptCode = "application:Standard.Module1.Test" oForm.registerScriptEvent(0, oEvents(0)) Call XToggleDesignMode(oDocument) End Sub Sub Test(oEvt) Dim oControlModel as Object oControlModel = oEvt.Source.Model MsgBox oControlModel.Tag End Sub Sub XToggleDesignMode(oDocument as Object) ' from the Tools Library ... Dim aTransformer as Object Dim oDispatch as Object Dim oFrame as Object Dim aSwitchMode as New com.sun.star.util.URL Dim aEmptyArgs() as New com.sun.star.bean.PropertyValue aSwitchMode.Complete = ".uno:SwitchControlDesignMode" aTransformer = createUnoService("com.sun.star.util.URLTransformer") aTransformer.parseStrict(aSwitchMode) ' Print aTransformer.getPresentation(aSwitchmode, True) oFrame = oDocument.currentController.Frame oDispatch = oFrame.queryDispatch(aSwitchMode, oFrame.Name, 63) oDispatch.dispatch(aSwitchMode, aEmptyArgs()) End Sub -- GnuPG key 0xCFD04A45: 8822 057F 4956 46D3 352C 1A06 4E2C AB40 CFD0 4A45
signature.asc
Description: OpenPGP digital signature