Visual Basic (VBA) или Python - какой язык выбрать для автоматизации Excel в 2023 г.?

  Рет қаралды 15,306

Клондайк Аналитика

Клондайк Аналитика

Күн бұрын

Хотите знать все о сводных таблицах, использовать их как профессионал? Записывайтесь на наш курс по анализу данных и сводным таблицам! Подробности тут: clck.ru/34Ny5Z
Поддержать канал: donate.stream/...
Всем привет! Сегодня мы постараемся понять, стоит ли изучать Visual Basic (VBA) для автоматизации Excel в 2023 г. или лучше посмотреть в сторону более современного языка программирования, например, такого, как Python.

Пікірлер: 50
@analyst_klondike
@analyst_klondike 7 ай бұрын
Друзья, смотрите мой курс Python с нуля для начинающих: kzbin.info/www/bejne/onyVfHR9hLiCn5I Подписывайтесь на телеграм-канал: t.me/analyst_klondike
@Dmitrii-Zhinzhilov
@Dmitrii-Zhinzhilov Жыл бұрын
Благодарю! Подписка, лайк 👍🔥
@AndreyDelay
@AndreyDelay Жыл бұрын
Использую VBA так как очень часто задачи прилетают от коллег и руководства, в формате решил -> отдал в использование. Так же внедряются инструменты в книги подконтрольным организациям, и python есть только у пары человек из всех с кем взаимодействую. А 90% ПК задушены безопасниками, я сам программирую на Java , так что даже её не установить никак …
@vladig6649
@vladig6649 Жыл бұрын
VBA концептуально интегрирован в пакет MS Office как инструмент программирования внутри входящих в него приложений. Так сложилось исторически. Принципиальным моментом является простота VBA имеющего в своей основе Visual Basic, которой обеспечивается ясность и читабельность программного кода особенно для его дальнейшей поддержки.
@weters1990
@weters1990 Жыл бұрын
Vba используется не только в ексель ... Имеет свои библиотеки которые взаимодействуют со сторонними офисными продуктами (аксес, ворд, поверпоинт... др.) и не офисными программами (автокад... др.)... Также обращается к windows . Создает папки, файлы , открывает сторонние приложения, выключает процессы... Пайтон нужно учить только для красивой визуализации рабочей формы приложения ... Такое себе ... Для офисного рабочего это далеко не важно
@TheNinesku
@TheNinesku 11 ай бұрын
Однозначно надо и то и другое
@darkknight8287
@darkknight8287 Жыл бұрын
Спасибо
@СергейКондулуков-з9ч
@СергейКондулуков-з9ч 6 ай бұрын
То есть для простых задач VBA вполне подойдёт. Я только начал изучать Excel. Значит VBA самое то.
@analyst_klondike
@analyst_klondike 6 ай бұрын
Можно и сложные решать, зависит от вашего желания погружаться в VBA. Кстати, в телеграм-канале есть пост с картой обучения VBA - какие видео смотреть, в каком порядке и для каких целей
@arturshepiev8486
@arturshepiev8486 2 ай бұрын
А есть курс хороший по VBA ?
@analyst_klondike
@analyst_klondike 2 ай бұрын
Конечно! На канале есть полный курс VBA c нуля. Также, в телеграм-канале есть посты с программой обучения VBA: что изучать и в какой последовательности. Ссылка на курс: t.me/analyst_klondike/18
@zsnjA
@zsnjA Жыл бұрын
Запилили полноценные шарпы вместо vba в excel, все бы кайфовали
@analyst_klondike
@analyst_klondike Жыл бұрын
Да, многие об этом мечтают, но, боюсь, не запилят. На VBA написано много кода и его нельзя просто так взять и бросить.
@vladig6649
@vladig6649 11 ай бұрын
А лучше С++ или какую-нибудь Java и тп. Просто смешно. VBA концептуально интегрирован во все приложения MS Office как основной и достаточно простой инструмент разработки. Внутри этих приложений можно работать и на другом ЯП, если он через ActiveX и СОМ-компоненты способен работать с их объектыми моделями.
@yuliyi
@yuliyi 8 ай бұрын
Если бы там были шарпы я бы и весь наш офис инженеров МЕХАНИКОВ ( не программистов ) плакали бы горькими слезами
@vladig6649
@vladig6649 Жыл бұрын
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
@analyst_klondike Жыл бұрын
Да, вы правы, спасибо за такой развернутый комментарий.
@vladig6649
@vladig6649 Жыл бұрын
@@analyst_klondike Да, и чтобы начать изучение VBA и разработку на нем приложений, то логичнее будет начать с самого Visual Basic, например, его последней редакции VB6. На практике освоить разработку простых форм с контролами (controls), которые все присутствуют и в VBA, освоить разработку СОМ-компонентов в формате dll-файлов, которые можно будет использовать в своих VBA-приложениях. А если посмотреть на MS Office в целом, то его общая концептуальность, архитектура объектных моделей входящих приложений, простой но функционально мощный язык программирования VBA, компоненты доступа к данным - все это продумано и сделано на высочайшем уровне, если не сказать гениально.
@menestrier7474
@menestrier7474 7 ай бұрын
@@vladig6649 Не совсем, начинать лучше с VBA.... Литература свежее, и материалы... а также VB6 развернули вокруг VBA.... Более того ЯП вообще-то развивается, как VB6, так и VBA, и их можно смело назвать полукомпилируемым или полуинтерпретируемым... Но это так мысли в слух, на счет интерфейса тоже не правда, есть дополнение, которое меняет стандартный интерфейс редактора VBA и добавляет некоторые возможности, его и искала... забыла, как называется... потеряла после переустановки ОС... Проблемы вовсе не в развитии, оно идет хоть и не от Microsoft проблема в переходе на облачные сервисы и сетевые технологии... Тут уже JS или Python....
@techmashtlt
@techmashtlt 4 ай бұрын
Совершенно верно. Я когда начал применять Еxcel и изучать vba для автоматизации своих инженерных задач я офигел от того какие вещи в нем можно делать, а макроредактор это вообще ключ успеха для новичка.
@vladig6649
@vladig6649 4 ай бұрын
​@@techmashtlt Одни из лучших, на мой взгляд, учебников для изучения программирования на VBA являются книги Владимира Биллига "Программирование на VBA в MS Office".
@AwolGame
@AwolGame Жыл бұрын
Жду видео, с примерами работы пайтона и экскеля, очень хочется изучить и понять, в каких случаях можно применять
@denis27054
@denis27054 5 ай бұрын
VBA использую для решения задач "здесь и сейчас". Настолько обленился, что мне проще накидать несколько строк кода чем погружаться в изучение функций еxcel.
@analyst_klondike
@analyst_klondike 5 ай бұрын
По всей видимости, вы весьма продвинутый пользователь Excel, коли пишете код на VBA даже если аналогичный функционал уже есть в Excel "из коробки"
@denis27054
@denis27054 5 ай бұрын
@@analyst_klondike Я не считаю себя продвинутым пользователем, несмотря на то что знаком с ним больше 20 лет. Даже сейчас я не могу сказать что знаю его возможности хотя бы на 50%. В основном использую vba для работы с логами программ - таблицы с десятками тысяч текстовых строк, ищу иголки в стоге сена. Excel в связке с VBA весьма мощный инструмент, жаль что большинство использует его для рисования таблиц.
@yurafedchenko2733
@yurafedchenko2733 Жыл бұрын
4:26 - проблему переноса программы на python-е можно было бы нивелировать формированием exe - файла, однако лишь для программы единоразового использования это имеет мало смысла.
@prymotuda9783
@prymotuda9783 Жыл бұрын
Учитывая новости, что Microsoft интегрирует поддержку Python в Excel то плюсы и минусы изменятся
@vladig6649
@vladig6649 Жыл бұрын
Если ЯП Python поддерживает работу с COM-компонентами, на которых построены объектные модели всех приложений пакета MS Office, то на нем можно с успехом работать с этими моделями. Но лучше из VBA запускать модули (приложения) написанные на самом Python'e. Хотя все можно проще сделать на самом VBA.
@Tosha.V
@Tosha.V Ай бұрын
для python в ms 365 есть оф. поддержка, а для js есть официальное api уже очень давно
@analyst_klondike
@analyst_klondike Ай бұрын
Да, Excel развивается в правильном направлении. По вашему, такая реализация Python в Excel лучше VBA?
@Tosha.V
@Tosha.V Ай бұрын
​​​​@@analyst_klondike если они в 25 ms office lts таки реализуют поддержку python, будет отлично) про vba не скажу ничего плохого, кроме того, что он уже давно перестал развиваться, в перспективе его внедрение в свой какой то проект бессмысленно
@EvilTroll-m4b
@EvilTroll-m4b 14 күн бұрын
Мне на работе была поставлена задача обработки типизированных таблиц Excel. Плюс интерфейс пользователя плюс защита от дурака плюс сохдание отчетов в формате Word. Сначала провозился неделю с Python. И вдруг внезапно оказалось, что с наименьшими затратами времени и усилий эта задача выполняется в Lazarus. Интерфейс строится простым перетаскиванием компонентов на форму и прописыванием свойств, все необходимые компоненты дозагружаются из репозиториев, хорошая вики-документация, остается сосредоточиться исключительно на математике. Первая задача была решена за 5 дней, последующих время сократилось в 2 раза. Никого не агитирую, это чисто личное. Хочу лишь сказать, что нет лучших и худших ЯП, есть оптимальные под конкретные задачи.
@analyst_klondike
@analyst_klondike 12 күн бұрын
А что за такая система, Lazarus? Никогда не слышал
@EvilTroll-m4b
@EvilTroll-m4b 12 күн бұрын
@@analyst_klondike ru.wikipedia.org/wiki/Lazarus
@EvilTroll-m4b
@EvilTroll-m4b 12 күн бұрын
@@analyst_klondike ru.wikipedia.org/wiki/Lazarus
@analyst_klondike
@analyst_klondike 11 күн бұрын
@@EvilTroll-m4b Видится, что это устаревшая технология. А в чем проблема была сделать это на Python?
@EvilTroll-m4b
@EvilTroll-m4b 11 күн бұрын
@@analyst_klondike нежелание писать интерфейс ручками. Да и не устаревшая технология. Вполне отлично поддерживает GTK и Qt. В отличие от Python создаёт исполняемый бинарник. Паскаль - строго типизированный ЯП (в Питоне с одними переменными такого можно намутить, что потом фиг разберёшь). Область применения довольно узкая, согласен. Но для многих текущих задач даст фору другим ЯП. Я не агитирую. Мне просто все равно на чем писать, я для определенных задач выбираю наиболее удобный для себя инструмент. Кому-то удобней пользоваться Питоном. Я просто не люблю интерпретаторы. Да и синтаксис мне не нравится. Но это, опять же, личное.
@simplyx1489
@simplyx1489 Жыл бұрын
Наверное питон ещё хорош тем, что он есть в Power BI, который велючает и каери и пивот, но получше, свежее
@ВячеславИванов-с7ю
@ВячеславИванов-с7ю Жыл бұрын
Спасибо. Подскажите где скачать англо-русский словарь для VBS?
@ВячеславИванов-с7ю
@ВячеславИванов-с7ю Жыл бұрын
Vba
@андрейхоменко-и5я
@андрейхоменко-и5я 4 ай бұрын
Выбирай оба... Как я)))
@analyst_klondike
@analyst_klondike 4 ай бұрын
Отличный выбор!
@tamikdgioev7031
@tamikdgioev7031 Жыл бұрын
Vba для Exsel, все же более предпочтительный, хотя книги и исходники по нему исчезают, Python все же лучше для Liber office VBA есть не только в Excel и в Office... как и Python, и что бы понадобился Python наверное масштаб данных должен выйти за рамки Excel или вообще одного ПК, с другой стороны в новых версиях на сколько знаю планировать использовать javascript...
@vladig6649
@vladig6649 Жыл бұрын
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
@tamikdgioev7031 Жыл бұрын
​@@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 и другие. Так что свое оставлю при себе.
@ЯнБоянов
@ЯнБоянов 3 ай бұрын
Петухон вообще не предназначен для нормальной работы в эксель.
@analyst_klondike
@analyst_klondike 3 ай бұрын
Не факт, в ряде задач Python отрабатывает значительно лучше VBA
Язык программирования Basic: История Basic которую вы не знали
15:08
EngineerSpock - IT & программирование
Рет қаралды 8 М.
Пишу простую, но реальную программу. Python + Excel.
18:48
Клуб дедов-программистов
Рет қаралды 139 М.
ПРИКОЛЫ НАД БРАТОМ #shorts
00:23
Паша Осадчий
Рет қаралды 6 МЛН
Bike Vs Tricycle Fast Challenge
00:43
Russo
Рет қаралды 99 МЛН
Players vs Corner Flags 🤯
00:28
LE FOOT EN VIDÉO
Рет қаралды 69 МЛН
Learn Excel VBA to Automate Anything
14:02
Kenji Explains
Рет қаралды 439 М.
VISIO+VBA | #2 What is Visual Basic for Applications
12:06
Vigil IT-video
Рет қаралды 7 М.
Is PYTHON or VBA better? Which language should you learn? 🤔
11:47
Кто и почему убивает Фронтенд?
20:40
Миша Ларченко
Рет қаралды 25 М.
ПРИКОЛЫ НАД БРАТОМ #shorts
00:23
Паша Осадчий
Рет қаралды 6 МЛН