Как стать автором
Обновить

Комментарии 17

Не убедительно.
Пишу на vbscript или HTA. На VBA не программирую, потому что не установлен Microsoft Office.
Так вот для подключения к внешним API не вызывает сильных проблем: COM-сервера, WMI, библиотека ADO и DOM — все это можно использовать и в VBA.
В Vbscript нет отладчика. Это решает все. Редактор VBA в Office это по-сути обрезанная версия Visual Studio 6. И есть хороший отладчик. Без него любой более-менее сложный проект не написать. Поэтому я пользуюсь только VBA.
Может красивого и нет, но сообщения об ошибке в такой-то строке при исполнении выскакивает.
да есть же cscript //X scriptfile.vbs
Да есть, не отрицаю, но некоторые вещи в консоли не пашут.
vbsedit посмотрите там и редактор и отладчик есть.
Специфика работы не позволяет пользоваться сторонним ПО, потому и пишу том что есть, блокнот с подсветкой. Для мелких работ вполне хватает.
А почему не jscript? — все API те же, плюс на 99% тот же javascript, опыт работы на котором можно переиспользовать в массе областей. Ну и без призрачных перспектив один только try-catch дорогого стоит.
Пишу конечно jscript, не без этого иначе не поймут сотоварищи. Просто как-то изначально случилось, что первые скрипты писал на vbscript на работе, так и продолжил. Часто приходиться тупа собирать новый скрипт из кусков старого, просто копипаст и все.
Очень в своё время поразила работа скриптового червя I love you, на его основе написал скрипт, который из большого текстового файла по заданным параметрам искал кусок необходимого текста и кидал на печать. Ну как кидал, формировал файл и батником отправлял в lpt порт матричного принтера.
Я вам больше скажу, при использовании соответствующей библиотеки в Python вы получаете доступ ко всем возможностям VBA)
Больше десятка лет назад у меня была задача экспортировать текстовые данные из Autocad в Excel. Выбор стоял между Lisp и VBA, оба языка я знал на уровне пары обзорных лекций в университете. Потыкавшись в Лиспе день или два, я понял, что выбора на самом деле у меня нет. На VBA получилось почти без проблем, работало нормально. (к чему это? просто музыкой навеяло)
cscript //X scriptfile.vbs — в качестве отладчика VBScript прекрасно работает Visual Studio
Не согласен с графиком сложности разработки, есть какие-то аргументы?
На самом деле нужно выбирать инструмент исходя из основной логики программы. Если нужно работать с объектами Office — лучше использовать VBA. Если Office используется только для вывода результата, то лучше использовать то, что ближе по технологии к объекту обработки.
С графиком тоже не согласен. Если возникают задачи, которые на VBA сложно решить, я использую VSTO. Вся мощь NET в поддержку.
> Задача: Дана база данных по предприятиям отрасли в виде карточек-отдельных файлов html, которые надо отфильтровать и объединить в 1 файл Excel для расчета ряда показателей.
Не знаю, как там всё было устроено, но, возможно, задачу можно решить вообще без программирования, используя надстройку PowerQuery (не путать с PowerPivot).
Была задача проверить 20к имен из excel файла с именами общей базы(110k).Ну еще вычислить кое какую дату и отсортировать все.Питон справился отлично.За 2-3 минуты программа все сделала и создала нужные файлы для дальнейшей работы.
Все задачи можно сделать и там и там. Под vba, даже учитывая что язык не менялся с 2000-ых годов, удобный отладчик, что не говори. Значения переменных можно в режиме отладки менять, иногда даже внедрять новые. Плюс код встраивается в документы и переносится меду пользователями без дополнительной установки зависимостей. Код питона просто так не будет работать при переносе с одного компа на другой.
Если не знаешь vba, тогде есть смысл, возможно, изучать пайтон. Он развивается, есть большое количество сообществ, язык шлифуется, есть удобные обёртки для неких реализаций, которые на vba пришлось бы городить с нуля что называется. А по скорости выполнения кода тут одинаково всё. Я регулярно работаю с обработкой данных (xls,csv; 10k-100k) и использую vba. В том числе и для работы с подключением к удалённым SQL севрверам и api. В нём у меня быстрее всего получается накидывать необходимые прототипы.
Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.