Ocultar e exibir linhas e colunas da planilha com a macro ONLYOFFICE
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.
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!