統合
データの統合。com.sun.star.sheet.XConsolidatable インターフェースのメソッドを使用しますが、このインターフェースおよび一連の統合関連のモジュールは deprecated 指定されています。 概要
統合はドキュメントオブジェクトの com.sun.star.sheet.XConsolidatable インターフェースを使用して行います。 ディスクリプタ
createConsolidationDescriptor メソッドを利用してディスクリプタを作成します。引数は空のディスクリプタを作成するかどうかを指定します。 Sub consoidate_2 oDoc = ThisComponent oDesc = oDoc.createConsolidationDescriptor(False) End Sub 各種メソッドを利用して条件を設定します。 関数
setFunction メソッドの引数に .sheet.GeneralFunction で関数を指定します。GeneralFunction getFunction メソッドで現在の関数を取得できます。 リンク
setInsertLinks メソッドでリンクするかどうかを指定します。 getInsertLinks メソッドで現在のリンク指定状態を取得できます。 ソース範囲
ソース範囲は複数の範囲を指定可能です。範囲の指定は .table.CellRangeAddress のシークエンスで行います。 aRange1 = CreateCellRangeAddress(0, 0, 0, 0, 2) aRange2 = CreateCellRangeAddress(0, 1, 1, 0, 2) oDesc.setSources(Array(aRange1, aRange2)) Function CreateCellRangeAddress( nSheet As Integer, _ nStartColumn As Long, nEndColumn As Long, _ nStartRow As Long, nEndRow As Long ) As _ com.sun.star.table.CellRangeAddress aRange = CreateUnoStruct("com.sun.star.table.CellRangeAddress") With aRange .Sheet = nSheet .StartColumn = nStartColumn .EndColumn = nEndColumn .StartRow = nStartRow .EndRow = nEndRow End With CreateCellRangeAddress = aRange End Function また、getSources メソッドで現在指定している範囲を取得できます。 出力セル位置
出力開始セル位置を指定します。 aCellAddress = CreatUnoStruct("com.sun.star.table.CellAddress") With aCellAddress .Sheet = 0 .Column = 0 .Row = 10 End With oDesc.setStartOutputPosition(aCellAddress) getStartOutputPosition メソッドでセル指定位置を取得できます。 列ヘッダ
setUseColumnHeaders メソッドの引数に列ヘッダを使用するかどうかを boolean 型で指定します。 行ヘッダ
setUseRowHeaders メソッドの引数に boolean 型で行ヘッダを使用するかどうかを指定します。 統合を適用する
consolidate メソッドにディスクリプタを指定して統合します。 Sub consolidate_3 oDoc = ThisComponent oDesc = oDoc.createConsolidationDescriptor(False) oDoc.consolidate(oDesc) End Sub |