Что можно реализовать на макросах в Office?

На многих сайтах в Вопросах-Ответах  в разделе «Программирование» пользователи часто задают интересные вопросы, которые заставляют задуматься. К примеру, как стать хакером? Очень сомнительно, что им станет даже верный подписчик журнала «Хакер», ведь придется изучать массу литературы, собирая опыт по крупицам. По той же причине никто не объяснит, как стать программистом. Но эти трудности хотя бы никто не скрывает так, как это принято делать в отношении языка программирования VBA. Со дня появления его презрительно путают с какими-то невнятными макросами, и даже в самых толстых самоучителях по MS Office о нем не упоминают, его можно найти в последней версии ms office 2013 купить. Ах, да – это же макросы, на которых можно запрограммировать печать пригласительных писем по списку? На первых курсах университетов познания о VBA расширяются примитивными вычислительными программами, и на этом все. Как правило, в реальной работе этот язык практически никто не использует, предпочитая «серьезные языки».

И при этом часто изобретается новый вид велосипеда. Дело в том, что VBA очень мощный язык, на котором можно реализовать практически любой проект, где не требуются особые фокусы с графикой. В частности, 1С: Предприятие фактически включает клон VBA, причем весьма неудобный. Программисты мучаются годами, пытаясь организовать связь между визуальными языками программирования с Office для формирования красивых видов отчетов. То и дело создаются всякие бухгалтерские поделки, программы создания визиток, календарей, шаблонов документов и т.д. Все это делается в VBA, причем часто проще, чем на отдельном языке. Весь фокус в том, что сам Office более чем наполовину написан на этом же языке, а, значит, любая программа на нем может использовать все возможности Word, Excel и других частей системы. Кроме этого, в языке есть возможность работать с файлами последовательного и прямого доступа, вызывать любые программы в системе с указанием параметров запуска, причем даже в невидимых окнах. Есть возможность писать компактные программы массовой обработки документов для создания картотек, создания архивных копий документов. Есть и доступ к Windows API, с помощью которых возможности программ становятся неограниченными: на нем можно писать не только несложные игры в рамках обычного Офиса, а также макровирусы и такие же антивирусы, мощные вычислительные программы с генерацией удобных отчетов, утилиты анализа операционной системы – все виды программ, где нужны средства для вывода отчетов.

Запись опубликована в рубрике Веб. Добавьте в закладки постоянную ссылку.

Добавить комментарий

Ваш адрес email не будет опубликован.