Являются ли офисные сценарии новым VBA?

Существует множество путей в разработку программного обеспечения, и я подозреваю, что некоторые из них будут похожи на мой. Не имея формального образования или подготовки, я впервые попробовал кодирование с помощью Excel и VBA. От первого нажатия кнопки записи макроса до написания первого подпрограммы с нуля прошло невероятно быстро, с простым синтаксисом языка и отличным автоматическим завершением кода, учиться было очень приятно (не кричите на меня, но я уверен, что Python получил свою простоту использования и кривую обучения от VBA). Как только я понял широту применения и то, как мало перегородок между другими программами Microsoft, я использовал VBA для всего, от рабочих книг до управления файлами, от html-скреппинга до обработки электронной почты в Outlook. Я смог обойти ИТ-отдел и создать свой собственный RPA и даже некоторые вещи, которые можно было почти классифицировать как отдельную часть программного обеспечения. Но я всегда упирался в потолок, мне всегда нужно было быть там (или в каком-то другом месте в петле), я хотел, чтобы это было онлайн, а это было просто невозможно.

Поэтому я пошел дальше: JavaScript для Cordova и веб-приложений, а в конце концов занялся полноценными RPA-решениями с Blue Prism и Power Platform, и, как все мы делаем, мне стало немного стыдно за свой опыт работы с VBA, и я попытался отойти от него. Но мимолетная статья привлекла мое внимание: Microsoft рассматривала возможность использования JavaScript для замены VBA. Я больше ничего не слышал об этом, пока не заметил, что в Excel online появилась новая лента «Автоматизировать». Даже кнопка записи вернулась, и хотя она была основана на Typescript, это было достаточно близко, я наконец-то мог делать VBA онлайн, или мог?

Я решил (как я всегда делаю), что лучший способ научиться — это делать, поэтому я решил создать простой POC с Office Script, а не с обычным VBA. POC заключался в сравнении нескольких наборов данных, и я хотел убедиться, что результат имеет ценность (я знаю, что есть гораздо лучшие инструменты для этой работы, но для быстрого POC мне подходит VBA, и я надеялся, что Office Scripts тоже подойдет).

Через пару часов я закончил POC для того, что мне было нужно, и почувствовал, что изучил основы. Я был удивлен тем, как легко было освоить эту программу, кнопкой записи и автоматическим завершением кода (но без простого синтаксиса, хотя мой опыт работы с JavaScript очень помог), я снова почувствовал себя как в VBA, и в этом тоже была проблема. Я думал, что вернулся в VBA с «отсутствием стен», чтобы выйти за пределы Excel, но это просто не тот случай с Office Scripts. Хотите взаимодействовать с другой программой, нет шансов, вы даже не можете взаимодействовать с двумя разными рабочими книгами Excel. Создать новую рабочую книгу — нет, сохранить копию — нет, унаследованная поддержка xls — промах, и список можно продолжать и продолжать.

Вы можете делать форматирование, копирование между ячейками, циклы для диапазонов, диаграммы и многое другое, но в реальном мире это не то, что вы делаете настолько часто, чтобы тратить усилия на кодирование. Так в чем же смысл сценариев Office, я думаю, что нашел ответ, и это Power Automate.

В изолированном виде сценарии Office Scripts не имеют смысла, они слишком ограничены, и всегда будет существовать VBA, который может сделать все это и даже больше (и проще). Но если посмотреть чуть дальше, то можно увидеть небольшой коннектор Power Automate под названием «Выполнить сценарий». Этот коннектор означает, что вы можете вызвать сценарий без участия человека в цикле. И это еще не все:

  • Вы можете передавать данные в Power Automate и из него.
  • Стандартные коннекторы Excel Power Automate очень ограничены, они работают только с таблицами и только в режиме чтения/обновления/удаления данных.
  • Сценарий можно повторно использовать в разных рабочих книгах
  • Сценарии можно использовать совместно и объединять в цепочки, чтобы сделать их более мощными.

Поэтому для Microsoft я думаю, что у офисных сценариев есть две цели:

  1. — Заполнить недостающие функции для Power Automate, чтобы сделать его более полным решением.
  2. — Завлечь людей в Power Automate, когда они упираются в стены Office Scripts.

Поэтому я возвращаюсь к своему первоначальному вопросу,

Являются ли сценарии Office Scripts новым VBA?

Но могут ли Power Automate, Office Scripts и остальная часть Power Platform стать новым VBA, я думаю, да.

Microsoft поняла, что VBA был первым инструментом, который позволил поколению гражданских (или теневых ИТ) разработчиков, это было не то, для чего VBA был изначально предназначен, но на этот раз, с Power Platform, они нацелены на них, и Office Scripts является частью этой стратегии.

Так рекомендую ли я изучать Office Scripts? И да, и нет. Если вы используете Power Automate, то да, он добавляет очень много функциональности, делает потоки намного проще/эффективнее и намного быстрее. Но если вы не работаете с Power Platform, то придерживайтесь VBA (или даже Google App Scripts).

Если вы все же хотите научиться, следует помнить о нескольких вещах:

  • Хотя документация Microsoft намного лучше, чем для VBA, сообщества и библиотеки знаний просто нет (и, вероятно, не будет еще долго).
  • Редактор сценариев хорош, но знание JavaScript/Typescript будет большим преимуществом.
  • Будьте реалистами в том, что он может сделать, это не новый VBA.

Оцените статью
devanswers.ru
Добавить комментарий