Microsoft начинает поэтапный отказ от VBScript в Windows: что нужно знать разработчикам

information security

Корпорация Microsoft официально объявила о начале поэтапного отказа от технологии VBScript в операционной системе Windows, что существенно затронет разработчиков VBA, использующих библиотеки VBScript для работы с регулярными выражениями и выполнения внешних скриптов. Компания представила детальный график перехода и рекомендации по миграции, чтобы помочь специалистам адаптировать свои проекты к грядущим изменениям.

Процесс отказа от VBScript будет реализован в три этапа. Первая фаза, которая уже активна и продлится до 2026 или 2027 года, предусматривает сохранение VBScript в качестве включённой опции по требованию (Feature on Demand). На этом этапе существующие проекты на VBA продолжат работать без изменений. Вторая фаза начнётся примерно в 2026-2027 годах: VBScript будет отключён по умолчанию. Третий этап, дата которого пока не определена, предполагает полное удаление VBScript из будущих версий Windows. В финальной стадии вызов VBS-скриптов из VBA станет невозможен, а ссылки на библиотеки регулярных выражений VBScript перестанут работать, если клиенты Office не будут обновлены до поддерживаемых сборок.

Для минимизации негативных последствий Microsoft интегрировала классы RegExp непосредственно в VBA, начиная с Office Version 2508 (Build 19127.20154). Это нововведение устраняет необходимость обращаться к внешним библиотекам VBScript и предоставляет четыре объектных типа: RegExp, Match, MatchCollection и SubMatches. Разработчики могут использовать раннее связывание, создавая переменные без внешних ссылок на библиотеки, но это работает исключительно в Office версии 2508 и новее, независимо от версии Windows. Альтернативно, позднее связывание через CreateObject(“VBScript.RegExp”) остаётся совместимым с Office 2508+ на всех версиях Windows, а также на старых системах с включённым VBScript.

Microsoft настоятельно рекомендует разработчикам перейти на Microsoft 365 Version 2508 или новее для беспроблемной работы с нативной реализацией RegExp. Для новых макросов следует использовать встроенные функции VBE RegExp вместо ручного подключения vbscript.dll. Также важно заранее тестировать проекты в средах с отключённым VBScript, чтобы выявить скрытые зависимости до вступления в силу финальных фаз отказа.

Скрипты VBA, использующие библиотеки VBScript RegExp из старых версий Office, продолжат функционировать с новыми версиями Office на системах Windows, где VBScript всё ещё активен. Этот переход предоставляет разработчикам достаточно времени для обновления проектов при сохранении обратной совместимости на начальных этапах. Microsoft призывает специалистов делиться обратной связью через функцию «Помогите улучшить Office» в приложениях пакета или через комментарии в блогах для дальнейшего совершенствования процесса миграции.

Комментарии: 0