Risolvi i problemi più comuni

Di seguito sono elencati i problemi comuni che potresti riscontrare quando converti il codice VBA in Apps Script con il convertitore Macro.

Stampa

Le API VBA per la stampa dei file vengono convertite automaticamente in Apps Script, ma potrebbero comportarsi in modo diverso rispetto all'API VBA originale. Di seguito sono riportati due esempi:

API VBAComportamento in Apps Script
PrintOutConverte in Apps Script, ma l'API Apps Script stampa su un file anziché su una stampante. Puoi stampare manualmente il file PDF.
PrintToFileConverte in Apps Script. Il file PDF viene salvato nella cartella Il mio Drive.

Elementi non convertiti

Le seguenti funzionalità non vengono convertite dal convertitore Macro e devono essere convertite manualmente:

Trigger

Due tipi di attivatori, le scorciatoie da tastiera e alcuni basati su eventi, non vengono convertiti dal convertitore macro. In molti casi, puoi creare questi trigger manualmente.

Scorciatoie da tastiera

Per aggiungere scorciatoie da tastiera, segui la procedura per importare le funzioni come macro.

Trigger basati su eventi

Alcuni eventi del codice VBA, come BeforeClose o BeforeSave, non hanno equivalenti in Apps Script, ma potresti essere in grado di creare una soluzione alternativa.

Per eventi come BeforeClose, puoi creare un menu o un pulsante personalizzato su cui fare clic per eseguire l'azione che deve essere eseguita prima di chiudere il foglio di lavoro.

Poiché Fogli Google salva automaticamente ogni modifica, non è possibile utilizzare soluzioni alternative per eventi come BeforeSave.

Moduli utente

In VBA, UserForm è una finestra o una finestra di dialogo nell'interfaccia utente (UI) di un'applicazione. Macro Converter non converte i moduli utente. Puoi crearli manualmente in Apps Script.

Creare una finestra di dialogo per i moduli utente

  1. Sul computer, apri il file convertito in Fogli Google.
  2. In alto, fai clic su Estensioni > ** Apps Script**.
  3. A sinistra dell'editor, accanto a "File", fai clic su Aggiungi un file > HTML. Ti consigliamo di assegnare al file HTML lo stesso nome del modulo utente VBA originale.
  4. Aggiungi i campi e le informazioni che vuoi visualizzare nel modulo. Scopri di più sui moduli HTML all'indirizzo W3school.com.
  5. A sinistra, fai clic sul file Apps Script (file GS) in cui è presente il codice convertito.
  6. Se il codice contiene già un trigger onOpen(), aggiornalo con il codice riportato di seguito. Se non disponi dell'attivatore onOpen() nel codice, aggiungi il codice riportato di seguito.
    function onOpen() {
     SpreadsheetApp.getUi()
         .createMenu('User Form')
         .addItem('Show Form', 'showForm')
         .addToUi();
    }
    function showForm() {
     var html = HtmlService.createHtmlOutputFromFile('userform_module_name')
         .setWidth(100)
         .setTitle('Sign-up for Email Updates');
     SpreadsheetApp.getUi().showSidebar(html);
    }
        
  7. Sostituisci userform_module_name con il nome del file HTML che hai aggiunto.
  8. In alto, fai clic su Salva progetto .
  9. Passa al foglio Google e ricarica la pagina.
  10. Nella parte superiore del foglio Google, fai clic su Modulo utente > Mostra modulo.

Intervalli denominati

In Excel, gli intervalli denominati sono nomi assegnati a una singola cella o a un intervallo di celle.

Quando converti il file di Excel in Fogli Google, alcuni tipi di intervalli denominati non verranno convertiti perché non sono supportati. Di seguito sono riportati due esempi:

Intervalli denominati non supportatiDescrizione
TabelleNon è supportata in Fogli Google, ma esiste una soluzione alternativa.

Per ricreare questo intervallo denominato in Fogli, aggiungi un intervallo denominato che rimandi alla notazione A1 dell'intervallo di tabella. Utilizza lo stesso nome dell'intervallo denominato originale nel codice VBA in modo che il codice convertito lo riconosca.
Elenco di intervalliFunzionalità non supportata in Fogli Google. Non esiste una soluzione alternativa.