OpenOffice.org/Macro/ThisComponent/Sheets

ThisComponent.Sheets é a forma de acessar as planilhas de um documento Calc[1].

ThisComponent.Sheets é um array de objetos, e pode ser acessado como um array normal (através dos índices; lembrando que no BASIC os arrays se iniciam no zero)

ExemploEditar

  Dim planilha0 As Object
  Dim nome As String
  planilha0 = ThisComponent.Sheets(0)
  nome = planilha0.getName()
  MsgBox nome

Atributos e métodosEditar

  • .getByName(string) - seleciona uma planilha pelo nome
  • .hasByName(string) - verifica se a planilha existe
  • .insertByName(string, objeto-planilha) - insere nova planilha no fim do documento
  • .insertNewByName(string, pos) - insere uma nova planilha com este nome na posição escolhida
  • .removeByName(string) - remove planilha

Acessando as células da planilhaEditar

Uma planilha selecionada por ThisComponent.Sheets(0) (ou outro método) é um servico do tipo com.sun.star.sheet.Spreadsheet[2].

Esta planilha pode ser manipulada, através de suas linhas, colunas, células ou ranges (grupos retangulares de células).

Alguns atributos e métodos:

  • .Columns - array de colunas [3]
  • .Rows - array de linhas
  • .getCellByPosition(linha, coluna) - seleciona a célula. A numeração começa no (0, 0)[4]
  • .getCellRangeByName(string) - seleciona range pelo nome (estilo "A1", "B5", etc)

Uma vez selecionada, pode-se acessar (ou modificar) o valor da célula, através dos atributos .setString, .Formula, etc:

Exemplo:

  Dim celulaa1, celulab2
  celulaa1 = ThisComponent.Sheets(0).getCellByPosition(0, 0)
  celulab2 = ThisComponent.Sheets(0).getCellRangeByName("B2")
  celulaa1.setString("ABC")
  celulab2.Formula = "=A1"


ReferênciasEditar

  1. The Structure of Spreadsheet Documents, no site wiki.services.openoffice.org
  2. service Spreadsheet, site api.openoffice.org
  3. Rows and Columns, site wiki.services.openoffice.org
  4. Cells and Ranges, site wiki.services.openoffice.org