選択中のセル情報を取得する。
ThisComponent.CurrentSelection.RangeAddress.StartRow ThisComponent.CurrentSelection.RangeAddress.EndRow ThisComponent.CurrentSelection.RangeAddress.StartColumn ThisComponent.CurrentSelection.RangeAddress.EndColumn
セルを選択する。
Dim dispatcher As Object dispatcher = createUnoService("com.sun.star.frame.DispatchHelper") Dim args(0) as new com.sun.star.beans.PropertyValue args(0).Name = "ToPoint" args(0).Value = "$A$4" dispatcher.executeDispatch(ThisComponent.CurrentController.Frame, ".uno:GoToCell", "", 0, args())
セルを選択する。
ThisComponent.CurrentController.Select(ThisComponent.Sheets.getByIndex(0).getCellByPosition(0, 5)) ThisComponent.CurrentController.Select(ThisComponent.Sheets.getByName("シート名").getCellRangeByName("A2:C2"))
セルから数値の取得と、セルに数値をセットする。
ThisComponent.Sheets.getByIndex(0).getCellByPosition(0, 5).getValue() ThisComponent.Sheets.getByName("シート名").getCellRangeByName("A2").setValue(1234)
セルから文字列の取得と、セルに文字列をセットする。
ThisComponent.CurrentController.ActiveSheet.getCellByPosition(3, 0).getString() ThisComponent.CurrentController.ActiveSheet.getCellRangeByName("B1").setString("test1")
セルに関数をセットする。
ThisComponent.CurrentController.ActiveSheet.getCellRangeByName("B5").setFormula("=SUM(B1:B4)")
セルの行と列番号を取得する。
ThisComponent.Sheets.getByIndex(0).getCellByPosition(4, 0).CellAddress.Column ThisComponent.Sheets.getByName("シート名").getCellByPosition(3, 0).CellAddress.Row
セルの文字に色付けする。
ThisComponent.Sheets.getByIndex(0).getCellByPosition(4, 0).CharColor = rgb(255,0,0) ThisComponent.Sheets.getByName("シート名").getCellRangeByName("A1:A2").CharColor = rgb(255,0,0)
セルの背景に色付けする。
ThisComponent.Sheets.getByIndex(0).getCellByPosition(4, 0).CellBackColor = rgb(0,255,0) ThisComponent.Sheets.getByName("シート名").getCellRangeByName("A1:A2").CellBackColor = rgb(0,255,0)
範囲を指定してセルをコピーする。
Dim sheet As Object sheet = ThisComponent.Sheets.getByIndex(0) '選択範囲をコピーする sheet.copyRange(sheet.getCellRangeByName("コピー先").getCellAddress(), sheet.getCellRangeByName("コピー元").getRangeAddress()) '行をコピーする sheet.copyRange(sheet.getCellRangeByName("A1").getCellAddress(), sheet.Rows(1).getRangeAddress())
指定範囲の内容や書式をすべてクリアする。
ThisComponent.Sheets.getByIndex(0).getRows.getByIndex(4).clearContents(511)
指定範囲の値のみをクリアする。
ThisComponent.Sheets.getByName("シート名").getRows.getByIndex(6).clearContents(7)
指定範囲を削除する。
(第二引数:1=UP、2=LEFT)
Dim sheet As Object sheet = ThisComponent.Sheets.getByName("シート名") sheet.removeRange(sheet.getCellRangeByName("A3:D10").RangeAddress, 1)
行を選択する。
ThisComponent.CurrentController.Select(ThisComponent.Sheets.getByIndex(0).getRows.getByIndex(0))
行を追加する。
ThisComponent.Sheets.getByName("シート名").getRows.insertByIndex(3, 1) '挿入位置/追加行数
行を削除する。
ThisComponent.Sheets.getByIndex(0).getRows.removeByIndex(3, 1) '削除位置/削除行数
列を選択する。
ThisComponent.CurrentController.Select(ThisComponent.Sheets.getByIndex(0).getColumns.getByIndex(0))
列を追加する。
ThisComponent.Sheets.getByName("シート名").getColumns.insertByIndex(3, 1) '挿入位置/追加列数
列を削除する。
ThisComponent.Sheets.getByIndex(0).getColumns.removeByIndex(3, 1) '削除位置/削除列数
入力規則を削除する。
ThisComponent.Sheets.getByIndex(0).getColumns.getByIndex(5).Validation.Type = 0
印刷範囲を設定する。
ThisComponent.CurrentController.ActiveSheet.setPrintAreas(Array(sheet.getCellRangeByName("A1:E30").getRangeAddress()))
現在のシートを取得する。
ThisComponent.CurrentController.ActiveSheet
シートの存在を確認する。
ThisComponent.Sheets.hasByName("シート名")
シートを選択する。
ThisComponent.CurrentController.Select(ThisComponent.Sheets.getByName("シート名").getCellRangeByName("A1"))
シートを追加する。
ThisComponent.Sheets.insertNewByName("新規シート名", 0)
シートを削除する。
ThisComponent.Sheets.removeByName("シート名")
シートをコピーする。
ThisComponent.Sheets.copyByName("コピー元", "新しいシート名", 0) '先頭に追加 ThisComponent.Sheets.copyByName("コピー元", "新しいシート名", ThisComponent.Sheets.getCount()) '末尾に追加
シートを保護、解除する。
sheet.Protect("password") sheet.Unprotect("password")
自動再計算を無効にする。
ThisComponent.enableautomaticCalculation(False)