diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-27 16:51:28 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-27 16:51:28 +0000 |
commit | 940b4d1848e8c70ab7642901a68594e8016caffc (patch) | |
tree | eb72f344ee6c3d9b80a7ecc079ea79e9fba8676d /odk/examples/OLE/vbscript | |
parent | Initial commit. (diff) | |
download | libreoffice-upstream.tar.xz libreoffice-upstream.zip |
Adding upstream version 1:7.0.4.upstream/1%7.0.4upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to '')
-rw-r--r-- | odk/examples/OLE/vbscript/WriterDemo.vbs | 172 | ||||
-rw-r--r-- | odk/examples/OLE/vbscript/readme.txt | 4 |
2 files changed, 176 insertions, 0 deletions
diff --git a/odk/examples/OLE/vbscript/WriterDemo.vbs b/odk/examples/OLE/vbscript/WriterDemo.vbs new file mode 100644 index 000000000..71d011e4f --- /dev/null +++ b/odk/examples/OLE/vbscript/WriterDemo.vbs @@ -0,0 +1,172 @@ +'*********************************************************************** +'* +'* The Contents of this file are made available subject to the terms of +'* the BSD license. +'* +'* Copyright 2000, 2010 Oracle and/or its affiliates. +'* All rights reserved. +'* +'* Redistribution and use in source and binary forms, with or without +'* modification, are permitted provided that the following conditions +'* are met: +'* 1. Redistributions of source code must retain the above copyright +'* notice, this list of conditions and the following disclaimer. +'* 2. Redistributions in binary form must reproduce the above copyright +'* notice, this list of conditions and the following disclaimer in the +'* documentation and/or other materials provided with the distribution. +'* 3. Neither the name of Sun Microsystems, Inc. nor the names of its +'* contributors may be used to endorse or promote products derived +'* from this software without specific prior written permission. +'* +'* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +'* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +'* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +'* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +'* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +'* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +'* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS +'* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +'* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR +'* TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE +'* USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +'* +'************************************************************************* + +'The service manager is always the starting point +'If there is no office running then an office is started up +Set objServiceManager= WScript.CreateObject("com.sun.star.ServiceManager") + +'Create the CoreReflection service that is later used to create structs +Set objCoreReflection= objServiceManager.createInstance("com.sun.star.reflection.CoreReflection") + +'Create the Desktop +Set objDesktop= objServiceManager.createInstance("com.sun.star.frame.Desktop") + +'Open a new empty writer document +Dim args() +Set objDocument= objDesktop.loadComponentFromURL("private:factory/swriter", "_blank", 0, args) + +'Create a text object +Set objText= objDocument.getText + +'Create a cursor object +Set objCursor= objText.createTextCursor + +'Inserting some Text +objText.insertString objCursor, "The first line in the newly created text document." & vbLf, 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 +Set objTable= objDocument.createInstance( "com.sun.star.text.TextTable") +objTable.initialize 4, 4 + +'Insert the table +objText.insertTextContent objCursor, objTable, false + +'Get first row +Set objRows= objTable.getRows +Set 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" & vbLf, false + +'Create a paragraph break ( ControlCharacter::PARAGRAPH_BREAK). +objText.insertControlCharacter objCursor, 0, false + +'Create a TextFrame. +Set objTextFrame= objDocument.createInstance("com.sun.star.text.TextFrame") + +'Create a Size struct. +Set 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 +Set objFrameText= objTextFrame.getText + + +'Create a cursor object +Set objFrameTextCursor= objFrameText.createTextCursor + +'Inserting some Text +objFrameText.insertString objFrameTextCursor, "The first line in the newly created text frame.", _ + false +objFrameText.insertString objFrameTextCursor, _ + vbLf & "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 + +On Error Resume Next +If Err Then + MsgBox "An error occurred" +End If + + +Sub insertIntoCell( strCellName, strText, objTable) + Set objCellText= objTable.getCellByName( strCellName) + Set objCellCursor= objCellText.createTextCursor + objCellCursor.setPropertyValue "CharColor",16777215 + objCellText.insertString objCellCursor, strText, false +End Sub + +Function createStruct( strTypeName) + Set classSize= objCoreReflection.forName( strTypeName) + Dim aStruct + classSize.createObject aStruct + Set createStruct= aStruct +End Function diff --git a/odk/examples/OLE/vbscript/readme.txt b/odk/examples/OLE/vbscript/readme.txt new file mode 100644 index 000000000..45a982a13 --- /dev/null +++ b/odk/examples/OLE/vbscript/readme.txt @@ -0,0 +1,4 @@ +Run the script in WriterDemo.vbs with Windows Script Host. +Command line: + +cscript WriterDemo.vbs |