Risolvi i problemi più comuni

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

Stampa

Le API VBA che stampano 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
PrintOutViene convertito in Apps Script, ma l'API Apps Script stampa in un file anziché su una stampante. Puoi stampare manualmente il file PDF.
PrintToFileViene convertito 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 attivatori basati su eventi, non vengono convolti dal Convertitore di macro. In molti casi, puoi creare questi trigger manualmente.

Scorciatoie da tastiera

Per aggiungere scorciatoie da tastiera, segui i passaggi 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 riuscire a trovare una soluzione alternativa.

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

Poiché Fogli Google salva automaticamente ogni modifica, le soluzioni alternative per eventi come BeforeSave non sono possibili.

Userforms

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

Crea una finestra di dialogo del modulo 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 form VBA originale.
  4. Aggiungi i campi e le informazioni che vuoi visualizzare nel modulo. Scopri di più sui moduli HTML su W3school.com.
  5. A sinistra, fai clic sul file di Apps Script (file GS) contenente il codice convertito.
  6. Se nel codice è già presente un trigger onOpen(), aggiornalo con il codice riportato di seguito. Se non hai l'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 a Fogli 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 i nomi assegnati a una singola cella o a un intervallo di celle.

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

Intervalli denominati non supportatiDescrizione
TabelleNon supportato 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 intervalliNon supportato in Fogli Google. Non esiste una soluzione alternativa.