Ocultar e exibir linhas e colunas da planilha com a macro ONLYOFFICE

9 agosto 2023By Klaibson

O gerenciamento de grandes conjuntos de dados pode ser demorado. É aí que as macros do ONLYOFFICE brilham, automatizando tarefas e liberando o potencial de sua planilha. Nesta postagem do blog, mostraremos como criar uma macro amigável que oculta ou exibe linhas e colunas específicas. Adicionalmente, enquanto temos um semelhante macro na seção de amostras de macro de nossa documentação, com esta, iremos aumentá-la e torná-la ainda mais amigável.

Ocultar e exibir linhas e colunas da planilha com a macro ONLYOFFICE

Construindo a macro

Primeiro, recuperamos a planilha atualmente ativa na planilha do ONLYOFFICE e atribuímos à planilha variável:

const sheet = Api.GetActiveSheet()

Em seguida, definimos um intervalo que inclui as células da coluna A (célula A1) à coluna M (célula M1) da planilha ativa. Usaremos esse intervalo para manipular as colunas:

 const range = sheet.GetRange("A1:M1")

Depois disso, a matriz rowsToHide é criada, contendo os números das linhas que precisam ser ocultadas ou exibidas. Essa matriz pode ser personalizada adicionando ou removendo números de linha:

const rowsToHide = [5, 8, 9, 12, 14, 16, 21, 22, 31, 32, 33]

Além disso, criamos o array columnToHide. Ele contém os números das colunas que precisam ser ocultados ou exibidos:

const columnsToHide = [2,4,5,7,8,10,11,13,14,16]

Além disso, criamos o array columnToHide. Ele contém os números das colunas que precisam ser ocultados ou exibidos:

const hidden = sheet.GetRows(rowsToHide[0]).GetHidden()

Em seguida, executamos a função hideUnhideDetails. Ele é responsável por ocultar ou exibir as linhas e colunas com base no status oculto. Vamos dar uma olhada mais de perto nele:

function hideUnhideDetails(hidden) {
        rowsToHide.forEach(row => {
            sheet.GetRows(row).SetHidden(!hidden)
        })

Esse loop itera por cada número de linha especificado na matriz rowsToHide e usa o método SetHidden() para ocultar ou exibir a respectiva linha com base no oposto do status oculto. Por exemplo, se hidden for true, a linha será reexibida (!hidden é false), e se hidden for false, a linha será ocultada (!hidden é true).

  columnsToHide.forEach(column => {
            range.GetCols(column).SetHidden(!hidden)
        })
    }

Esse loop itera por cada número de coluna especificado na matriz columnToHide e, em seguida, usa SetHidden() para ocultar ou exibir a coluna.

Todo o código da macro é o seguinte:

(function()
{
    const sheet = Api.GetActiveSheet()
    const range = sheet.GetRange("A1:M1")
    const rowsToHide = [5, 8, 9, 12, 14, 16, 21, 22, 31, 32, 33]
    const columnsToHide = [2,4,5,7,8,10,11,13,14,16]
    const hidden = sheet.GetRows(rowsToHide[0]).GetHidden()
    hideUnhideDetails(hidden)
    // Unhide if hidden, Hide if unhidden
    function hideUnhideDetails(hidden) {
        rowsToHide.forEach(row => {
            sheet.GetRows(row).SetHidden(!hidden)
        })
        columnsToHide.forEach(column => {
            range.GetCols(column).SetHidden(!hidden)
        })
    }
})();

Agora vamos rodar nossa macro e ver como funciona!

Esperamos que esta macro economize tempo e esforço ao gerenciar grandes conjuntos de dados, permitindo que você se concentre nas informações mais relevantes para o seu trabalho. O uso de macros permite que você aproveite totalmente o potencial do ONLYOFFICE, aumentando significativamente sua produtividade.

Também encorajamos você a continuar explorando as possibilidades de macros no ONLYOFFICE. Com uma compreensão mais profunda das macros do ONLYOFFICE, você pode automatizar tarefas, aumentar a produtividade e personalizar documentos. Compartilhe suas ideias e dúvidas nos contate. Estamos ansiosos para colaborar com você. Boa sorte em seus esforços exploratórios!