| <?xml version="1.0"?> |
| <component> |
| |
| <?component error="true" debug="true"?> |
| |
| <registration |
| description="writerdemo script component" |
| progid="dcomtest.writerdemo.WSC" |
| version="1.00" |
| classid="{90c5ca1a-5e38-4c6d-9634-b0c740c569ad}" |
| remotable="true" |
| > |
| </registration> |
| |
| <public> |
| <method name="run"> |
| </method> |
| </public> |
| |
| <script language="JScript"> |
| <![CDATA[ |
| |
| var description = new jscripttest; |
| |
| function jscripttest() |
| { |
| |
| this.run = run; |
| } |
| |
| function run() |
| { |
| //The service manager is always the starting point |
| //If there is no office running then an office is started up |
| |
| var objServiceManager= new ActiveXObject("com.sun.star.ServiceManager","\\jl-1036"); |
| |
| //Create the CoreReflection service that is later used to create structs |
| var objCoreReflection= objServiceManager.createInstance("com.sun.star.reflection.CoreReflection"); |
| |
| //Create the Desktop |
| var objDesktop= objServiceManager.createInstance("com.sun.star.frame.Desktop"); |
| |
| //Open a new empty writer document |
| var objCoreReflection= objServiceManager.createInstance("com.sun.star.reflection.CoreReflection"); |
| |
| //get a type description class for Size |
| //var propClass = objCoreReflection.forName( "com.sun.star.beans.PropertyValue" ); |
| |
| //var propParam= new Array(); |
| //propClass.createObject(propParam); |
| //var prop= propParam[0]; |
| //prop.Name= "Hidden"; |
| //prop.Value= true; |
| |
| //create the actual object |
| var args= new Array(); |
| var objDocument= objDesktop.loadComponentFromURL("private:factory/swriter", "_blank", 0, args); |
| |
| //Create a text object |
| var objText= objDocument.getText(); |
| |
| //Create a cursor object |
| var objCursor= objText.createTextCursor(); |
| |
| //Inserting some Text |
| objText.insertString( objCursor, "The first line in the newly created text document.\n", false); |
| |
| //Inserting a second line |
| objText.insertString( objCursor, "Now we're in the second line", false); |
| |
| //Create instance of a text table with 4 columns and 4 rows |
| var objTable= objDocument.createInstance( "com.sun.star.text.TextTable"); |
| objTable.initialize( 4, 4); |
| |
| //Insert the table |
| objText.insertTextContent( objCursor, objTable, false); |
| |
| //Get first row |
| var objRows= objTable.getRows(); |
| var objRow= objRows.getByIndex( 0); |
| |
| //Set the table background color |
| objTable.setPropertyValue( "BackTransparent", false); |
| objTable.setPropertyValue( "BackColor", 13421823); |
| |
| //Set a different background color for the first row |
| objRow.setPropertyValue( "BackTransparent", false); |
| objRow.setPropertyValue( "BackColor", 6710932); |
| |
| //Fill the first table row |
| insertIntoCell( "A1","FirstColumn", objTable); |
| insertIntoCell( "B1","SecondColumn", objTable); |
| insertIntoCell( "C1","ThirdColumn", objTable); |
| insertIntoCell( "D1","SUM", objTable); |
| |
| |
| objTable.getCellByName("A2").setValue( 22.5); |
| objTable.getCellByName("B2").setValue( 5615.3); |
| objTable.getCellByName("C2").setValue( -2315.7); |
| objTable.getCellByName("D2").setFormula("sum <A2:C2>"); |
| |
| objTable.getCellByName("A3").setValue( 21.5); |
| objTable.getCellByName("B3").setValue( 615.3); |
| objTable.getCellByName("C3").setValue( -315.7); |
| objTable.getCellByName("D3").setFormula( "sum <A3:C3>"); |
| |
| objTable.getCellByName("A4").setValue( 121.5); |
| objTable.getCellByName("B4").setValue( -615.3); |
| objTable.getCellByName("C4").setValue( 415.7); |
| objTable.getCellByName("D4").setFormula( "sum <A4:C4>"); |
| |
| //Change the CharColor and add a Shadow |
| objCursor.setPropertyValue( "CharColor", 255); |
| objCursor.setPropertyValue( "CharShadowed", true); |
| |
| //Create a paragraph break |
| //The second argument is a com::sun::star::text::ControlCharacter::PARAGRAPH_BREAK constant |
| objText.insertControlCharacter( objCursor, 0 , false); |
| |
| //Inserting colored Text. |
| objText.insertString( objCursor, " This is a colored Text - blue with shadow\n", false); |
| |
| //Create a paragraph break ( ControlCharacter::PARAGRAPH_BREAK). |
| objText.insertControlCharacter( objCursor, 0, false ); |
| |
| //Create a TextFrame. |
| var objTextFrame= objDocument.createInstance("com.sun.star.text.TextFrame"); |
| |
| //Create a Size struct. |
| var objSize= createStruct("com.sun.star.awt.Size"); |
| objSize.Width= 15000; |
| objSize.Height= 400; |
| objTextFrame.setSize( objSize); |
| |
| //TextContentAnchorType.AS_CHARACTER = 1 |
| objTextFrame.setPropertyValue( "AnchorType", 1); |
| |
| //insert the frame |
| objText.insertTextContent( objCursor, objTextFrame, false); |
| |
| //Get the text object of the frame |
| var objFrameText= objTextFrame.getText(); |
| |
| //Create a cursor object |
| var objFrameTextCursor= objFrameText.createTextCursor(); |
| |
| //Inserting some Text |
| objFrameText.insertString( objFrameTextCursor, "The first line in the newly created text frame.", |
| false); |
| objFrameText.insertString(objFrameTextCursor, |
| "With this second line the height of the frame raises.", false ); |
| |
| //Create a paragraph break |
| //The second argument is a com::sun::star::text::ControlCharacter::PARAGRAPH_BREAK constant |
| objFrameText.insertControlCharacter( objCursor, 0 , false); |
| |
| //Change the CharColor and add a Shadow |
| objCursor.setPropertyValue( "CharColor", 65536); |
| objCursor.setPropertyValue( "CharShadowed", false); |
| |
| //Insert another string |
| objText.insertString( objCursor, " That's all for now !!", false ); |
| |
| function insertIntoCell( strCellName, strText, objTable) |
| { |
| var objCellText= objTable.getCellByName( strCellName); |
| var objCellCursor= objCellText.createTextCursor(); |
| objCellCursor.setPropertyValue( "CharColor",16777215); |
| objCellText.insertString( objCellCursor, strText, false); |
| } |
| function createStruct( strTypeName) |
| { |
| var classSize= objCoreReflection.forName( strTypeName); |
| var aStruct= new Array(); |
| classSize.createObject( aStruct); |
| return aStruct[0]; |
| } |
| |
| |
| } |
| |
| ]]> |
| </script> |
| |
| </component> |