Преобразование макросов VBA в скрипт приложений

Прежде чем начать

Возможно, вам потребуется обновить несовместимые API в коде VBA перед конвертацией файлов. Для файлов со статусом «Поддерживается точно » можно перейти к шагу 1: Конвертация файлов .

Изменить несовместимые API VBA

Для файлов со статусом «Поддерживается с обходным решением» или «Требуется исследование» вы можете применить обходные пути и исправления после преобразования в Apps Script, но мы рекомендуем вам сначала изменить знакомый вам код VBA, прежде чем преобразовывать файлы.

Для каждого API, отмеченного в отчете о совместимости как «Поддерживается с обходным решением» или «Требуется исследование» , мы рекомендуем следующее:

  • Если функция, выполняемая API, не критична для корректной работы макроса VBA, удалите её из кода VBA. Если же критична, измените код, чтобы реализовать аналогичное поведение с поддерживаемыми API VBA .
  • Если API со статусом «Поддерживается с обходным решением» не могут перейти на поддерживаемые API VBA, оставьте их как есть. После преобразования в Apps Script в комментариях к преобразованному коду Apps Script рекомендуется известный обходной путь для этого API.
  • Если проблема возникает из-за нереализованной языковой конструкции , перепишите код, избегая использования этих конструкций.
  • Для API со статусом «Требуется исследование» проверьте, содержит ли ваш код какие-либо из следующих API:

    • Adodb.connection
    • CreateObject : этот API часто используется для подключения к базе данных и программному обеспечению для планирования ресурсов предприятия.
    • Shell.execute
    • OleObject

    Если да, мы рекомендуем не конвертировать файлы, к которым относятся эти API, и рассмотреть другие варианты. Эти API, как правило, выполняют критически важные операции для макроса, такие как подключение к базе данных или доступ к локальному ресурсу, и Apps Script, как правило, не является хорошим решением.

Шаг 1: Конвертируйте ваши файлы

  1. Откройте Google Диск на вашем компьютере.
  2. На правой боковой панели нажмите на надстройку Macro Converter. Значок конвертера макросов . Если вы не видите боковую панель, в правом нижнем углу нажмите «Показать боковую панель» .
  3. Нажмите «Добавить файлы и папки» . Конвертер макросов распознаёт только файлы Excel.
  4. Выберите файлы или папки, которые хотите преобразовать, и нажмите «Выбрать» . Выбирайте не более 2000 файлов одновременно.
  5. Чтобы изменить место сохранения преобразованных файлов, нажмите « папку назначения» и выберите нужную папку. В противном случае файлы будут сохранены в папке MyDrive.
  6. Нажмите «Конвертировать» .
  7. После завершения преобразования нажмите «Просмотреть результаты» .

Шаг 2: Проверьте преобразованные файлы

Запустите код вашего скрипта приложений

После преобразования файлов протестируйте функции Apps Script. Сравнив преобразованные файлы с данными, которые вы обычно используете в файлах Excel, по возможности сравните результаты преобразования файлов Таблиц с результатами исходных файлов Excel.

Проверьте свои триггеры

Если ваши файлы содержат триггеры, такие как onOpen() , onEdit() или onClick() , также проверьте их. Некоторые триггеры VBA не преобразуются автоматически, и их необходимо устранить в Apps Script. См. раздел «Решение распространённых проблем» .

Просмотреть файлы ReadMe

Если вместе с преобразованным файлом был создан файл ReadMe, ознакомьтесь с проблемами преобразования, перечисленными в файле ReadMe.

  • Если проблемы могут быть проблематичными в случаях, которые вы не тестировали, примените рекомендуемые изменения в своем коде.
  • Если вы протестировали все возможные сценарии и все работает так, как задумано, вам, вероятно, не нужно вносить изменения.

Шаг 3: Исправьте ошибки

Если при тестировании файлов вы столкнулись с ошибками, см. раздел Исправление ошибок в преобразованном коде .

Если код выполняется без ошибок, но результат не соответствует ожидаемому, откройте файл ReadMe. Просмотрите каждый раздел, чтобы определить причину проблемы и применить рекомендуемое исправление.

После исправления ошибок еще раз протестируйте файл, чтобы убедиться, что все работает так, как задумано.