Häufige Probleme, die beim Konvertieren von VBA-Code in Apps Script mit dem Macro Converter auftreten können, sind unten aufgeführt.
VBA-APIs, die Dateien drucken, werden automatisch in Apps Script konvertiert. Sie verhalten sich jedoch möglicherweise anders als die ursprüngliche VBA-API. Hier sind zwei Beispiele:
VBA API | Verhalten in Apps Script |
---|---|
PrintOut | Wird in Apps Script konvertiert, aber die Apps Script API gibt eine Datei anstelle eines Druckers aus. Sie können die PDF-Datei manuell drucken. |
PrintToFile | In Apps Script konvertiert. Die PDF-Datei wird im Ordner „Meine Ablage“ gespeichert. |
Nicht konvertierte Elemente
Die folgenden Funktionen werden nicht vom Macro Converter konvertiert und müssen manuell konvertiert werden:
- Einige Triggertypen
- Userforms
- Nicht unterstützte Typen von benannten Bereichen
Trigger
Zwei Triggertypen, Tastenkürzel und einige ereignisbasierte Trigger, werden vom Makrokonverter nicht konvertiert. In vielen Fällen können Sie diese Trigger manuell erstellen.
Tastenkombinationen
Wenn Sie Tastenkombinationen hinzufügen möchten, führen Sie die Schritte unter Funktionen als Makros importieren aus.
Ereignisbasierte Trigger
Für einige Ereignisse aus VBA-Code, z. B. BeforeClose
oder BeforeSave
, gibt es in Apps Script keine Entsprechungen. Möglicherweise lässt sich das Problem jedoch umgehen.
Für Ereignisse wie BeforeClose
können Sie ein benutzerdefiniertes Menü oder eine Schaltfläche erstellen, über die die Aktion ausgeführt wird, die vor dem Schließen der Tabelle ausgeführt werden muss.
Da in Google Tabellen jede Änderung automatisch gespeichert wird, sind Umgehungen für Ereignisse wie BeforeSave
nicht möglich.
Userforms
In VBA ist UserForm ein Fenster oder Dialogfeld in der Benutzeroberfläche (UI) einer Anwendung. UserForms werden vom Macro Converter nicht konvertiert. Sie können sie manuell in Apps Script erstellen.
Dialogfeld für Nutzerformulare erstellen
- Öffnen Sie die konvertierte Datei auf dem Computer in Google Tabellen.
- Klicken Sie oben auf Erweiterungen > ** Apps Script**.
- Klicken Sie links im Editor neben „Dateien“ auf „Datei hinzufügen“ > HTML. Wir empfehlen, der HTML-Datei denselben Namen zu geben wie der ursprünglichen VBA-UserForm.
- Fügen Sie die Felder und Informationen hinzu, die im Formular angezeigt werden sollen. Weitere Informationen zu HTML-Formularen finden Sie unter W3school.com.
- Klicken Sie links auf die Apps Script-Datei (GS-Datei), die den konvertierten Code enthält.
- Wenn Sie bereits einen
onOpen()
-Trigger in Ihrem Code haben, aktualisieren Sie ihn mit dem Code unten. Wenn der TriggeronOpen()
nicht in Ihrem Code enthalten ist, fügen Sie den Code unten hinzu.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); }
- Ersetzen Sie
userform_module_name
durch den Namen der hinzugefügten HTML-Datei. - Klicken Sie oben auf „Projekt speichern“ .
- Wechseln Sie zu Google Tabellen und aktualisieren Sie die Seite.
- Klicken Sie oben in der Google-Tabelle auf Nutzerformular > Formular anzeigen.
Benannte Bereiche
In Excel sind benannte Bereiche die Namen einer einzelnen Zelle oder eines Zellbereichs.
Wenn Sie Ihre Excel-Datei in Google Tabellen konvertieren, werden einige Arten von benannten Bereichen nicht konvertiert, da sie nicht unterstützt werden. Hier sind zwei Beispiele:
Nicht unterstützte benannte Bereiche | Beschreibung |
---|---|
Tabellen | Wird in Google Tabellen nicht unterstützt, es gibt aber eine Problemumgehung.
Wenn Sie diesen benannten Bereich in Google Tabellen neu erstellen möchten, fügen Sie einen benannten Bereich hinzu, der auf die A1-Notation des Tabellenbereichs verweist. Verwenden Sie in Ihrem VBA-Code denselben Namen wie für den ursprünglichen benannten Bereich, damit er vom konvertierten Code erkannt wird. |
Liste der Bereiche | Wird in Google Tabellen nicht unterstützt. Es gibt keine Umgehungslösung. |
Weitere Informationen
- Macro Converter-Add-on – Übersicht
- Prüfen, ob VBA-Makros kompatibel sind
- VBA-Makros in Apps Script konvertieren
- Fehler im konvertierten Code beheben
- Anleitungen für den Makrokonverter ansehen
- Liste der kompatiblen VBA APIs