Nascondi e mostra righe e colonne del foglio di calcolo con la macro ONLYOFFICE

12 agosto 2023By Elena

La gestione di set di dati di grandi dimensioni può richiedere molto tempo. È qui che brillano le macro di ONLYOFFICE, automatizzando le attività e liberando il potenziale del tuo foglio di calcolo. In questo blog, ti mostreremo come creare una macro user-friendly che nasconde o mostra righe e colonne specifiche. Inoltre, mentre abbiamo una macro simile tra gli esempi di macro della nostra documentazione, con questa la faremo un salto di qualità e la renderemo ancora più user-friendly.

Hide and unhide spreadsheet rows and columns with ONLYOFFICE macro

Costruzione della macro

Per prima cosa recuperiamo il foglio attualmente attivo nel foglio di calcolo ONLYOFFICE e lo assegniamo al foglio variabile:

const sheet = Api.GetActiveSheet()

Quindi definiamo un intervallo che include le celle dalla colonna A (cella A1) alla colonna M (cella M1) del foglio attivo. Useremo questo intervallo per manipolare le colonne:

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

Successivamente viene creato l’array rowsToHide, contenente i numeri di riga da nascondere o mostrare. Questo array può essere personalizzato aggiungendo o rimuovendo i numeri di riga:

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

Creiamo anche l’array columnsToHide. Contiene i numeri di colonna da nascondere o mostrare:

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

Quindi recuperiamo lo stato nascosto della prima riga specificata nell’array rowsToHide. Se la prima riga è nascosta, la proprietà SetHidden() delle righe e colonne rimanenti viene impostata su false. Ciò ci consente di scoprire le righe e le colonne selezionate. Se la prima riga dell’array rowsToHide non è nascosta, la proprietà SetHidden() è impostata su true per facilitare l’occultamento dell’intervallo target:

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

Quindi eseguiamo la funzione hideUnhideDetails. È responsabile di nascondere o scoprire le righe e le colonne in base allo stato nascosto. Diamo un’occhiata più da vicino:

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

Questo ciclo scorre ogni numero di riga specificato nell’array rowsToHide e utilizza il metodo SetHidden() per nascondere o scoprire la rispettiva riga in base all’opposto dello stato nascosto. Ad esempio, se hidden è vero, la riga sarà visibile (!hidden è falso), e se hidden è falso, la riga sarà nascosta (!hidden è vero).

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

Questo ciclo scorre ogni numero di colonna specificato nell’array columnsToHide e quindi utilizza SetHidden() per nascondere o visualizzare la colonna.

L’intero codice della macro è il seguente:

(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)
        })
    }
})();

Ora eseguiamo la nostra macro e vediamo come funziona!

Ci auguriamo che questa macro ti consenta di risparmiare tempo e fatica nella gestione di set di dati di grandi dimensioni, consentendoti di concentrarti sulle informazioni più rilevanti per il tuo lavoro. L’uso delle macro ti consente di sfruttare appieno il potenziale di ONLYOFFICE, aumentando significativamente la tua produttività.

Continua a esplorare le possibilità delle macro in ONLYOFFICE. Con una comprensione più profonda delle macro di ONLYOFFICE, puoi automatizzare le attività, migliorare la produttività e personalizzare i documenti. Condividi le tue idee e esperienze con noi. E in bocca al lupo!

Crea il tuo account ONLYOFFICE gratuito

Visualizza, modifica e collabora su documenti, fogli, diapositive, moduli e file PDF online.