Como remover linhas em branco no LibreOffice CALC
Hoje precisei eliminar várias linhas em branco numa planilha no LibreOffice Calc 4.1. Trabalho chato este.
Procurando no “oráculo de Deus” acabei achando o link do site Seja Livre com esta dica pronta: um macro que elimina as linhas!
Ali esta todo o passo-a-passo de como incluir a macro no seu CALC. Mas…
… ao executar encontrei vários erros de sintaxe. Dei uma fuçada e depois de eliminar os erros, posto abaixo o código. Basta copiar e colar.
Copie e cole este macro no seu CALC
REM ***** BASIC ***** Sub Main REM Macro que remove linhas em branco em uma planilha. REM Desenvolvida incialmente por Noelson Duarte em *02/06/2005*. REM Alterada por Francival Lima em 01/03/2008 ' oDoc = thisComponent 'Retorna o Documento aberto. oControlador =oDoc.getCurrentController() 'Retorna o controlador do Documento aberto. oPlan = oControlador.getActiveSheet() 'Retorna a planilha ativa. oCursor = oPlan.createCursor() 'Cria um cursor oCursor.gotoEndOfUsedArea(False) vEnd = oCursor.getRangeAddress() oExt = oPlan.getCellRangeByPosition(0,0,vEnd.EndColumn,vEnd.EndRow) oLinhas = oExt.getRows() nTotal = oLinhas.getCount() - 1 nFlags = com.sun.star.sheet.CellFlags.VALUE OR _ com.sun.star.sheet.CellFlags.DATETIME OR _ com.sun.star.sheet.CellFlags.STRING OR _ com.sun.star.sheet.CellFlags.ANNOTATION OR _ com.sun.star.sheet.CellFlags.FORMULA For i = nTotal To 0 Step -1 oExtLin = oPlan.getCellRangeByPosition(0, i, vEnd.EndColumn, i) oCelulasNaoVazias = oExtLin.queryContentCells(nFlags) If oCelulasNaoVazias.getCount() = 0 Then oLinhas.removeByIndex(i, 1) End If Next i End Sub
Sugestões e comentários, estamos ai! Use o CALC com mais alegria agora.