- Gerar link
- Outros aplicativos

- Henderson Matsuura Sanches
- Professor nas Faculdade JK de Tecnologia e Faculdade JK Michelangelo no Distrito Federal; Mestre em Engenharia Biomédica pela UnB/FGA (2017); Graduado em Licenciatura em Computação pela Faculdade Fortium (2011); Membro da Comunidade LibreOffice Brasil desde 2013; Membro da TDF – The Document Foundation desde 2014; Coordenador Geral do FLISOL – DF nos anos 2018, 2017 e 2016; Pesquisador no Laboratório de Informática em Saúde (LIS) da UnB/FGA com pesquisas envolvendo Ontologia no Tratamento da Neoplasia Mamária (NM); Membro da Comunidade Soffware Livre de Brasília; Sócio da ASL – Associação Software Livre; Sócio da SBC – Sociedade Brasileira de Computação e Sócio da SBEB – Sociedade Brasileira de Engenharia Biomédica.
Postagem em destaque
- Gerar link
- Outros aplicativos
Este tutorial foi retirado do site Debugpoint, não mudei nada nenhuma linha de comando, apenas traduzir a explicação do tutorial e espero que ajudem a todos.
Usando macro que pode limpar tudo o que contém numa célula ou num conjunto de células. Neste tutorial, vamos limpar todo o tipo de conteúdo a partir de uma gama.
Permite definir um sub que iria limpar o conteúdo do intervalo.
Sub ClearRangeContents()
End Sub
Permite obter um porão de intervalo em Sheet1. O getCellRangeByName função retorna um objeto de intervalo corresponsing para o intervalo que é transmitido via argumento.
Dim oDoc As Object
Dim oSheet As Object
Dim oCell As Object
Dim oRange As Object
oDoc = ThisComponent
oSheet = oDoc.Sheets(0) ' Refers to Sheet1 as in 0, 1, 2 etc
oRange = oSheet.getCellRangeByName("A3:B10")
Faixa A3: B10 com diferentes tipos de valores |
Os clearContents função gama (bandeiras) pode ser usado para limpar o conteúdo do intervalo. As bandeiras são nada, mas os tipos de valores que podem residir em uma célula. Pode ser de cordas, numerics, fórmulas, estilos etc. Você pode especificar quais tipos você pretende apagar a partir desse intervalo. ClearContents bandeiras argumento é do tipo de dados de comprimento e pode leva várias bandeiras como entrada.
As bandeiras estão listados no OpenOffice / LibreOffice CellFlags grupo constante que faz parte do com.sun.star.sheet.
Lista de bandeiras sob com.sun.star.sheet.CellFlags
Flags | Description | Values |
VALUE | selects constant numeric values that are not formatted as dates or times. | 1 |
DATETIME | selects constant numeric values that have a date or time number format. | 2 |
STRING | selects constant strings. | 4 |
ANNOTATION | selects cell annotations. | 8 |
FORMULA | selects formulas. | 16 |
HARDATTR | selects all explicit formatting, but not the formatting which is applied implicitly through style sheets. | 32 |
STYLES | selects cell styles. | 64 |
OBJECTS | selects drawing objects. | 128 |
EDITATTR | selects formatting within parts of the cell contents. | 256 |
FORMATTED | selects cells with formatting within the cells or cells with more than one paragraph within the cells. | 512 |
Coloque todas essas constantes sob uma variável e passá-lo para clearContents função.
Dim oFlags As Long
oFlags = com.sun.star.sheet.CellFlags.VALUE + _
com.sun.star.sheet.CellFlags.DATETIME + _
com.sun.star.sheet.CellFlags.STRING + _
com.sun.star.sheet.CellFlags.ANNOTATION + _
com.sun.star.sheet.CellFlags.FORMULA + _
com.sun.star.sheet.CellFlags.HARDATTR + _
com.sun.star.sheet.CellFlags.STYLES + _
com.sun.star.sheet.CellFlags.OBJECTS + _
com.sun.star.sheet.CellFlags.EDITATTR
oRange.clearContents(oFlags)
oFlags = com.sun.star.sheet.CellFlags.VALUE + _
com.sun.star.sheet.CellFlags.DATETIME + _
com.sun.star.sheet.CellFlags.STRING + _
com.sun.star.sheet.CellFlags.ANNOTATION + _
com.sun.star.sheet.CellFlags.FORMULA + _
com.sun.star.sheet.CellFlags.HARDATTR + _
com.sun.star.sheet.CellFlags.STYLES + _
com.sun.star.sheet.CellFlags.OBJECTS + _
com.sun.star.sheet.CellFlags.EDITATTR
oRange.clearContents(oFlags)
Run
Coloque abaixo todo bloco de código em uma planilha Calc que contém vários valores em um intervalo e executar a macro chamando a função. Você pode ver a saída é limpo de todos os valores, formatação etc.
Macro Completo
Sub ClearRangeContents()
Dim oDoc As Object
Dim oSheet As Object
Dim oCell As Object
Dim oRange As Object
Dim oFlags As Long
oDoc = ThisComponent
oSheet = oDoc.Sheets(0) ' Refers to Sheet1 as in 0, 1, 2 etc
oRange = oSheet.getCellRangeByName("A3:B10")
oFlags = com.sun.star.sheet.CellFlags.VALUE + _
com.sun.star.sheet.CellFlags.DATETIME + _
com.sun.star.sheet.CellFlags.STRING + _
com.sun.star.sheet.CellFlags.ANNOTATION + _
com.sun.star.sheet.CellFlags.FORMULA + _
com.sun.star.sheet.CellFlags.HARDATTR + _
com.sun.star.sheet.CellFlags.STYLES + _
com.sun.star.sheet.CellFlags.OBJECTS + _
com.sun.star.sheet.CellFlags.EDITATTR
oRange.clearContents(oFlags)
End Sub
Dim oDoc As Object
Dim oSheet As Object
Dim oCell As Object
Dim oRange As Object
Dim oFlags As Long
oDoc = ThisComponent
oSheet = oDoc.Sheets(0) ' Refers to Sheet1 as in 0, 1, 2 etc
oRange = oSheet.getCellRangeByName("A3:B10")
oFlags = com.sun.star.sheet.CellFlags.VALUE + _
com.sun.star.sheet.CellFlags.DATETIME + _
com.sun.star.sheet.CellFlags.STRING + _
com.sun.star.sheet.CellFlags.ANNOTATION + _
com.sun.star.sheet.CellFlags.FORMULA + _
com.sun.star.sheet.CellFlags.HARDATTR + _
com.sun.star.sheet.CellFlags.STYLES + _
com.sun.star.sheet.CellFlags.OBJECTS + _
com.sun.star.sheet.CellFlags.EDITATTR
oRange.clearContents(oFlags)
End Sub
Fonte: DeguPoint
- Gerar link
- Outros aplicativos
Comentários
Postar um comentário