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 VBA | Comportamento in Apps Script |
---|---|
PrintOut | Converte in Apps Script, ma l'API Apps Script stampa su un file anziché su una stampante. Puoi stampare manualmente il file PDF. |
PrintToFile | Converte 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:
- Alcuni tipi di attivatori
- Moduli utente
- Tipi di intervalli denominati non supportati
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
- Sul computer, apri il file convertito in Fogli Google.
- In alto, fai clic su Estensioni > ** Apps Script**.
- 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.
- Aggiungi i campi e le informazioni che vuoi visualizzare nel modulo. Scopri di più sui moduli HTML all'indirizzo W3school.com.
- A sinistra, fai clic sul file Apps Script (file GS) in cui è presente il codice convertito.
- Se il codice contiene già un trigger
onOpen()
, aggiornalo con il codice riportato di seguito. Se non disponi dell'attivatoreonOpen()
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); }
- Sostituisci
userform_module_name
con il nome del file HTML che hai aggiunto. - In alto, fai clic su Salva progetto .
- Passa al foglio Google e ricarica la pagina.
- 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 supportati | Descrizione |
---|---|
Tabelle | Non è 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 intervalli | Funzionalità non supportata in Fogli Google. Non esiste una soluzione alternativa. |
Articoli correlati
- Panoramica del componente aggiuntivo Macro Converter
- Stabilire se le macro VBA sono compatibili
- Convertire le macro VBA in Apps Script
- Correggere gli errori nel codice convertito
- Guarda i tutorial su Macro Converter
- Elenco di API VBA compatibili