Im Folgenden sind häufige Probleme aufgeführt, die auftreten können, wenn Sie Ihren VBA-Code mit dem Makrokonverter in Apps Script konvertieren.
VBA APIs, die Dateien drucken, werden automatisch in Apps Script konvertiert, verhalten sich aber möglicherweise anders als die ursprüngliche VBA API. Hier zwei Beispiele:
VBA API | Verhalten in Apps Script |
---|---|
PrintOut | Wird in Apps Script konvertiert, die Apps Script API gibt jedoch in einer Datei statt auf einem Drucker aus. Sie können die PDF-Datei manuell drucken. |
PrintToFile | Wird in Apps Script konvertiert. Die PDF-Datei wird im Ordner „Meine Ablage“ gespeichert. |
Elemente ohne Conversion
Die folgenden Funktionen werden vom Makrokonverter nicht konvertiert und müssen manuell konvertiert werden:
- Einige Arten von Triggern
- Nutzerformulare
- Nicht unterstützte Typen von benannten Bereichen
Trigger
Zwei Arten von Triggern, Tastenkombinationen und einige ereignisbasierte Trigger, werden vom Makrokonverter nicht konvertiert. In vielen Fällen können Sie diese Trigger manuell erstellen.
Tastenkombinationen
Folgen Sie der Anleitung unter Funktionen als Makros importieren, um Tastenkombinationen hinzuzufügen.
Ereignisbasierte Trigger
Für einige Ereignisse aus dem VBA-Code, z. B. BeforeClose
oder BeforeSave
, gibt es in Apps Script keine Entsprechungen. Sie können jedoch eine Problemumgehung erstellen.
Für Ereignisse wie BeforeClose
können Sie ein benutzerdefiniertes Menü oder eine benutzerdefinierte Schaltfläche erstellen, über die Sie die Aktion ausführen können, die vor dem Schließen der Tabelle ausgeführt werden soll.
Da Google Tabellen jede Änderung automatisch speichert, sind keine Behelfslösungen für Ereignisse wie BeforeSave
möglich.
Nutzerformulare
In VBA ist ein UserForm ein Fenster oder Dialogfeld in der Benutzeroberfläche einer Anwendung. Der Makrokonverter konvertiert UserForms nicht. Sie können sie manuell in Apps Script erstellen.
Dialogfeld zum Erstellen eines Nutzerformulars
- Öffnen Sie auf dem Computer die konvertierte Datei 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 wie dem ursprünglichen VBA-Nutzerformular zu geben.
- Fügen Sie die Felder und Informationen hinzu, die in Ihrem 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 Ihren konvertierten Code enthält.
- Wenn Sie in Ihrem Code bereits einen
onOpen()
-Trigger haben, aktualisieren Sie ihn mit dem folgenden Code. Wenn der TriggeronOpen()
nicht im Code vorhanden ist, fügen Sie den folgenden Code 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 HTML-Datei, die Sie hinzugefügt haben. - Klicken Sie oben auf „Projekt speichern“ .
- Wechseln Sie zur Google-Tabelle und aktualisieren Sie die Seite.
- Klicken Sie oben in der Google-Tabelle auf Nutzerformular > Formular anzeigen.
Benannte Bereiche
In Excel sind benannte Bereiche Namen, die einer einzelnen Zelle oder einem einzelnen Zellenbereich zugewiesen werden.
Wenn Sie Ihre Excel-Datei in Google Tabellen konvertieren, werden einige Arten von benannten Bereichen nicht konvertiert, da sie nicht unterstützt werden. Hier zwei Beispiele:
Nicht unterstützte benannte Bereiche | Beschreibung |
---|---|
Tabellen | Wird in Google Tabellen nicht unterstützt, es gibt jedoch eine Behelfslösung.
Um diesen benannten Bereich in Google Tabellen neu zu erstellen, fügen Sie einen benannten Bereich hinzu, der auf die A1-Notation des Tabellenbereichs verweist. Verwenden Sie in Ihrem VBA-Code denselben Namen wie der ursprünglich benannten Bereich, damit der konvertierte Code ihn erkennt. |
Liste der Bereiche | Wird in Google Tabellen nicht unterstützt. Es gibt keine Behelfslösung. |
Weitere Informationen
- Übersicht über das Add-on „Macro Converter“
- Kompatibilität der VBA-Makros ermitteln
- VBA-Makros in Apps Script umwandeln
- Fehler im konvertierten Code beheben
- Anleitungen zum Makrokonverter ansehen
- Liste kompatibler VBA APIs