'************************************************************************* ' ' DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. ' ' Copyright 2008 by Sun Microsystems, Inc. ' ' OpenOffice.org - a multi-platform office productivity suite ' ' $RCSfile: sw_SwXTextTable.xba,v $ ' ' $Revision: 1.6 $ ' ' This file is part of OpenOffice.org. ' ' OpenOffice.org is free software: you can redistribute it and/or modify ' it under the terms of the GNU Lesser General Public License version 3 ' only, as published by the Free Software Foundation. ' ' OpenOffice.org is distributed in the hope that it will be useful, ' but WITHOUT ANY WARRANTY; without even the implied warranty of ' MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ' GNU Lesser General Public License version 3 for more details ' (a copy is included in the LICENSE file that accompanied this code). ' ' You should have received a copy of the GNU Lesser General Public License ' version 3 along with OpenOffice.org. If not, see ' ' for a copy of the LGPLv3 License. ' '************************************************************************* '************************************************************************* ' Be sure that all variables are dimensioned: option explicit ' REQUIRED VARIABLES for interface/service tests: ' Requiered for com.sun.star.lang.XComponent Global oComponentInstance As Object ' it will be disposed ' Requiered for com.sun.star.chart.XChartData Global oCellToChange As Object ' Requiered for com.sun.star.container.XNamed Global cNameToSet As String ' "fixed" if name is fixed ' Requiered for com.sun.star.chart.XChartDataArray ' Requiered for com.sun.star.text.XTextTable Global nTableW As Integer Global nTableH As Integer 'Required for sheet.XCellRangeData Global newData As Variant Global oXTextContent as Object Global oXTextContentRange as Object Sub CreateObj() '************************************************************************* ' COMPONENT: ' sw.SwXTextTable '************************************************************************* On Error Goto ErrHndl Dim oCursor As Object Dim i As Integer Dim oInstance As Object oDoc = utils.createDocument("swriter", cObjectName) oCursor = oDoc.Text.createTextCursor() nTableH = 5 nTableW = 7 for i = 1 to 2 oInstance = oDoc.createInstance("com.sun.star.text.TextTable") oInstance.initialize(nTableH, nTableW) oInstance.Name = "Table" + i ' insert created Table oDoc.Text.insertTextContent(oCursor, oInstance, false) if (i = 1) then oComponentInstance = oInstance next i oObj = oInstance oCellToChange = oObj.getCellByPosition(3, 4) cNameToSet = "NewTableName" 'Required for XCellRangeData newData() = Array(_ Array(2.5, 5.0, 2.5, 5.0, 3.0, 2.0, 1.0),_ Array(4.0, 9.0, 2.5, 5.0, 4.0, 1.0, 2.0),_ Array(2.5, 5.0, 2.5, 5.0, 3.0, 2.0, 1.0),_ Array(2.5, 5.0, 2.5, 5.0, 7.0, 7.0, 8.0),_ Array(4.0, 9.0, 2.5, 5.0, 4.0, 3.0, 2.0)) oXTextContent = oDoc.createInstance("com.sun.star.text.TextTable") oXTextContentRange = oDoc.Text.createTextCursor() Exit Sub ErrHndl: Test.Exception() End Sub Function modifyDescriptor(descr As Variant) As Variant On Error Goto ErrHndl Dim i As Integer, oCell As Object for i = 0 to nTableW - 1 oCell = oObj.getCellByPosition(i, 0) oCell.String = "" + (nTableW - i) next i for i = 0 to ubound(descr) if descr(i).Name = "SortAscending" then descr(i).Value = true if descr(i).Name = "SortColumns" then descr(i).Value = true next i modifyDescriptor() = descr Exit Function ErrHndl: Out.Log("Exception in SwXTextTable.modifyDescriptor() :") Test.Exception() end Function Function checkSort() As Boolean On Error Goto ErrHndl Dim i As Integer, oCell As Object Dim bOK As Boolean bOK = true for i = 0 to nTableW - 1 oCell = oObj.getCellByPosition(i, 0) bOK = bOK AND oCell.String = "" + (i + 1) next i checkSort() = bOK Exit Function ErrHndl: Out.Log("Exception in SwXTextTable.checkSort() :") Test.Exception() end Function