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)
Exemplo
editarDim planilha0 As Object Dim nome As String planilha0 = ThisComponent.Sheets(0) nome = planilha0.getName() MsgBox nome
Atributos e métodos
editar- .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 planilha
editarUma 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ências
editar- ↑ The Structure of Spreadsheet Documents, no site wiki.services.openoffice.org
- ↑ service Spreadsheet, site api.openoffice.org
- ↑ Rows and Columns, site wiki.services.openoffice.org
- ↑ Cells and Ranges, site wiki.services.openoffice.org