Visual Basic (VBA) или Python - какой язык выбрать для автоматизации Excel в 2023 г.?
Хотите знать все о сводных таблицах, использовать их как профессионал? Записывайтесь на наш курс по анализу данных и сводным таблицам! Подробности тут: clck.ru/34Ny5Z
Поддержать канал: donate.stream/yoomoney4100118...
Всем привет! Сегодня мы постараемся понять, стоит ли изучать Visual Basic (VBA) для автоматизации Excel в 2023 г. или лучше посмотреть в сторону более современного языка программирования, например, такого, как Python.
Пікірлер: 36
Друзья, смотрите мой курс Python с нуля для начинающих: kzread.info/dash/bejne/nn9mraOAf7a1mZM.html Подписывайтесь на телеграм-канал: t.me/analyst_klondike
Благодарю! Подписка, лайк 👍🔥
Жду видео, с примерами работы пайтона и экскеля, очень хочется изучить и понять, в каких случаях можно применять
Спасибо
Visual Basic for Applications (VBA) это по сути язык программирования Visual Basic (VB) предназначенный для программирования внутри приложений входящих в пакет MS Office с целью разработки на базе их пользовательских приложений. Обьектные СОМ - модели офисных приложений и модели доступа к базам данных на MS Access и MS SQL имеют в своей основе API в синтаксисе VB (VBA). Из любого другого ЯП, работающиего с СОМ-компонентами, можно также успешно работать изнутри с приложениями MS Office. Принципиальным является то, что VBA концептуально интегрирован в MS Office и саму Windows. Существенным преимуществом языка программирования Visual Basic и VBA является их простота, которой обеспечивается ясность и читабельность написанного кода, особенно необходимых для его дальнейшей поддержки.
@analyst_klondike
8 ай бұрын
Да, вы правы, спасибо за такой развернутый комментарий.
@vladig6649
8 ай бұрын
@@analyst_klondike Да, и чтобы начать изучение VBA и разработку на нем приложений, то логичнее будет начать с самого Visual Basic, например, его последней редакции VB6. На практике освоить разработку простых форм с контролами (controls), которые все присутствуют и в VBA, освоить разработку СОМ-компонентов в формате dll-файлов, которые можно будет использовать в своих VBA-приложениях. А если посмотреть на MS Office в целом, то его общая концептуальность, архитектура объектных моделей входящих приложений, простой но функционально мощный язык программирования VBA, компоненты доступа к данным - все это продумано и сделано на высочайшем уровне, если не сказать гениально.
@menestrier7474
2 ай бұрын
@@vladig6649 Не совсем, начинать лучше с VBA.... Литература свежее, и материалы... а также VB6 развернули вокруг VBA.... Более того ЯП вообще-то развивается, как VB6, так и VBA, и их можно смело назвать полукомпилируемым или полуинтерпретируемым... Но это так мысли в слух, на счет интерфейса тоже не правда, есть дополнение, которое меняет стандартный интерфейс редактора VBA и добавляет некоторые возможности, его и искала... забыла, как называется... потеряла после переустановки ОС... Проблемы вовсе не в развитии, оно идет хоть и не от Microsoft проблема в переходе на облачные сервисы и сетевые технологии... Тут уже JS или Python....
@user-iv1ys3uo9e
24 күн бұрын
Совершенно верно. Я когда начал применять Еxcel и изучать vba для автоматизации своих инженерных задач я офигел от того какие вещи в нем можно делать, а макроредактор это вообще ключ успеха для новичка.
@vladig6649
24 күн бұрын
@@user-iv1ys3uo9e Одни из лучших, на мой взгляд, учебников для изучения программирования на VBA являются книги Владимира Биллига "Программирование на VBA в MS Office".
Однозначно надо и то и другое
4:26 - проблему переноса программы на python-е можно было бы нивелировать формированием exe - файла, однако лишь для программы единоразового использования это имеет мало смысла.
Использую VBA так как очень часто задачи прилетают от коллег и руководства, в формате решил -> отдал в использование. Так же внедряются инструменты в книги подконтрольным организациям, и python есть только у пары человек из всех с кем взаимодействую. А 90% ПК задушены безопасниками, я сам программирую на Java , так что даже её не установить никак …
@vladig6649
8 ай бұрын
VBA концептуально интегрирован в пакет MS Office как инструмент программирования внутри входящих в него приложений. Так сложилось исторически. Принципиальным моментом является простота VBA имеющего в своей основе Visual Basic, которой обеспечивается ясность и читабельность программного кода особенно для его дальнейшей поддержки.
Спасибо. Подскажите где скачать англо-русский словарь для VBS?
@user-sw9mx7ow7s
Жыл бұрын
Vba
VBA использую для решения задач "здесь и сейчас". Настолько обленился, что мне проще накидать несколько строк кода чем погружаться в изучение функций еxcel.
@analyst_klondike
Ай бұрын
По всей видимости, вы весьма продвинутый пользователь Excel, коли пишете код на VBA даже если аналогичный функционал уже есть в Excel "из коробки"
@denis27054
Ай бұрын
@@analyst_klondike Я не считаю себя продвинутым пользователем, несмотря на то что знаком с ним больше 20 лет. Даже сейчас я не могу сказать что знаю его возможности хотя бы на 50%. В основном использую vba для работы с логами программ - таблицы с десятками тысяч текстовых строк, ищу иголки в стоге сена. Excel в связке с VBA весьма мощный инструмент, жаль что большинство использует его для рисования таблиц.
Vba используется не только в ексель ... Имеет свои библиотеки которые взаимодействуют со сторонними офисными продуктами (аксес, ворд, поверпоинт... др.) и не офисными программами (автокад... др.)... Также обращается к windows . Создает папки, файлы , открывает сторонние приложения, выключает процессы... Пайтон нужно учить только для красивой визуализации рабочей формы приложения ... Такое себе ... Для офисного рабочего это далеко не важно
Запилили полноценные шарпы вместо vba в excel, все бы кайфовали
@analyst_klondike
Жыл бұрын
Да, многие об этом мечтают, но, боюсь, не запилят. На VBA написано много кода и его нельзя просто так взять и бросить.
@vladig6649
7 ай бұрын
А лучше С++ или какую-нибудь Java и тп. Просто смешно. VBA концептуально интегрирован во все приложения MS Office как основной и достаточно простой инструмент разработки. Внутри этих приложений можно работать и на другом ЯП, если он через ActiveX и СОМ-компоненты способен работать с их объектыми моделями.
@yuliyi
3 ай бұрын
Если бы там были шарпы я бы и весь наш офис инженеров МЕХАНИКОВ ( не программистов ) плакали бы горькими слезами
Учитывая новости, что Microsoft интегрирует поддержку Python в Excel то плюсы и минусы изменятся
@vladig6649
8 ай бұрын
Если ЯП Python поддерживает работу с COM-компонентами, на которых построены объектные модели всех приложений пакета MS Office, то на нем можно с успехом работать с этими моделями. Но лучше из VBA запускать модули (приложения) написанные на самом Python'e. Хотя все можно проще сделать на самом VBA.
Наверное питон ещё хорош тем, что он есть в Power BI, который велючает и каери и пивот, но получше, свежее
Выбирай оба... Как я)))
@analyst_klondike
11 күн бұрын
Отличный выбор!
То есть для простых задач VBA вполне подойдёт. Я только начал изучать Excel. Значит VBA самое то.
@analyst_klondike
Ай бұрын
Можно и сложные решать, зависит от вашего желания погружаться в VBA. Кстати, в телеграм-канале есть пост с картой обучения VBA - какие видео смотреть, в каком порядке и для каких целей
Vba для Exsel, все же более предпочтительный, хотя книги и исходники по нему исчезают, Python все же лучше для Liber office VBA есть не только в Excel и в Office... как и Python, и что бы понадобился Python наверное масштаб данных должен выйти за рамки Excel или вообще одного ПК, с другой стороны в новых версиях на сколько знаю планировать использовать javascript...
@vladig6649
8 ай бұрын
Visual Basic for Applications (VBA) это по сути язык программирования Visual Basic (VB) предназначенный для программирования внутри приложений входящих в пакет MS Office с целью разработки на базе их пользовательских приложений. Обьектные СОМ - модели офисных приложений и модели доступа к базам данных на MS Access и MS SQL имеют в своей основе API в синтаксисе VB (VBA). Из любого другого ЯП, работающиего с СОМ-компонентами, можно также успешно работать изнутри с приложениями MS Office. Принципиальным является то, что VBA концептуально интегрирован в MS Office и саму Windows. Существенным преимуществом языка программирования Visual Basic и VBA является их простота, которой обеспечивается ясность и читабельность написанного кода, особенно необходимых для его дальнейшей поддержки.
@tamikdgioev7031
8 ай бұрын
@@vladig6649 Так и есть, VB для меня никогда не был учебным ЯП, а скорее языком для офисного программирования, и администрирования. Но интегрирован он не только в офис, а где-то в 14 приложений включая WPS Office до 2016 года, можно вроде установить полноценный VBA -7 отдельно, часть которых в новых версиях в принципе поддерживает и Python. Но учитывая что web занимает все больше JS, а разработка развивается в сторону облачных сервисов, скорее всего именно JS займет эту нишу, об это были и слухи в сети, и это видим и в Google docs... И так же JS есть в Libre Office... И есть так же нюансы, в какой-то мере JS и Python сегодня чуть легче выучить, я на пример выбросил книгу Брауна да там есть что взять, но много воды - много плохого перевода. Если и брать эту книгу, то хотя бы оригинал, и информации что в ней принципе не хватит и еще что бы по ней нормально изучить ЯП нужно куда-то установить Win 95 или хотя бы ХР, а учебного материала осталось не много, и что бы разобраться в VBA придется записывать кучу макросов, и после разбираться в коде и реально искать информацию на зарубежных сайтах. Так же IDE 6-й версии построили вокруг VBA, а не VBA из него взяли... И еще интерфейс VBA можно поменять плагинами и сделать более современным duck или duck - duck называется - забыл, хоть и с VBA лучше не злоупотреблять плагинами особенно если макросы или код нужно отправлять куда-то еще, но этот думаю можно использовать, и в принципе с первыми двумя недостатками явно не все так плохо, и с 3 так же, ну от части мало виджетов, от части их можно создать, а от части требуется и не так много, что-то такое есть и для VB... Но уже едва ли найдется в сети, и в принципе не требуется... И по версии 6.0 ничего лишнего написать или ляпнуть не хочу это мой родной ЯП, и дела у ЯП куда лучше, чем принято считать в сети... И альтернатив много, хотя бы те же PoSh и Winform, AutoIT и другие. Так что свое оставлю при себе.