Limite o número de linhas e colunas no OpenOffice Calc

1

Existe uma maneira de limitar o número de linhas e colunas mostradas em uma planilha no OpenOffice Calc?

Eu recorri a ocultar manualmente as linhas e colunas fora da área que desejo, mas isso é tedioso e é redefinido ao usar o AutoFiltro.

Observe que estou procurando uma configuração por folha, não uma configuração por usuário ou por instalação.

No Excel, parece haver uma maneira muito indireta de fazer isso, mas não consegui encontrar um equivalente ao OpenOffice: link

    
por dovetalk 19.07.2016 / 17:50

1 resposta

1

Das várias soluções disponíveis, para mim, parece que esconder as linhas e colunas é melhor. Aqui está uma sub-rotina que fará isso automaticamente:

Sub HideRowsAndColumns(iLastVisibleRow As Integer, iLastVisibleCol As Integer)
    oController = ThisComponent.CurrentController
    oSheet = oController.ActiveSheet
    document   = ThisComponent.CurrentController.Frame
    dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
    oCellRange = oSheet.getCellRangeByPosition(_
        0, iLastVisibleRow, 0, oSheet.Rows.Count - 1)
    oController.select(oCellRange)
    dispatcher.executeDispatch(document, ".uno:HideRow", "", 0, Array())
    oCellRange = oSheet.getCellRangeByPosition(_
        iLastVisibleCol, 0, oSheet.Columns.Count - 1, 0)
    oController.select(oCellRange)
    dispatcher.executeDispatch(document, ".uno:HideColumn", "", 0, Array())
    oCellRange = oSheet.getCellRangeByPosition(0, 0, 0, 0)
    oController.select(oCellrange)
End Sub

Por exemplo, a seguinte rotina pode ser chamada quando o documento é aberto ( Tools -> Customize -> Events ):

Sub DoHideRowsAndCols
    HideRowsAndColumns(20,10)
End Sub

No LibreOffice, AutoFilter não reexibiu as linhas. No entanto, ele fez no Apache OpenOffice. Então, para o AOO, a rotina precisaria ser chamada novamente depois de fazer um AutoFilter .

Outra alternativa é que, em vez de esconder as células, proteja-as para impedir a edição. Veja link .

Pode ser possível adicionar um manipulador de eventos para evitar a rolagem além de certas linhas. Para obter um exemplo de um manipulador de eventos de planilha, consulte link .

No entanto, acho que adicionar esse manipulador seria muito irritante para o usuário. Eles tentariam clicar em uma célula apenas para que nada acontecesse, ou talvez a visualização voltasse de repente para a visualização original.

    
por 19.07.2016 / 22:36