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

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

Комментарии • 36

  • @analyst_klondike
    @analyst_klondike  4 месяца назад

    Друзья, смотрите мой курс Python с нуля для начинающих:
    ruclips.net/video/lK2KAGOSOi0/видео.html
    Подписывайтесь на телеграм-канал:
    t.me/analyst_klondike

  • @Dmitrii-Zhinzhilov
    @Dmitrii-Zhinzhilov 8 месяцев назад +1

    Благодарю! Подписка, лайк 👍🔥

  • @AwolGame
    @AwolGame Год назад +4

    Жду видео, с примерами работы пайтона и экскеля, очень хочется изучить и понять, в каких случаях можно применять

  • @darkknight8287
    @darkknight8287 Год назад

    Спасибо

  • @vladig6649
    @vladig6649 9 месяцев назад +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 является их простота, которой обеспечивается ясность и читабельность написанного кода, особенно необходимых для его дальнейшей поддержки.

    • @analyst_klondike
      @analyst_klondike  9 месяцев назад +1

      Да, вы правы, спасибо за такой развернутый комментарий.

    • @vladig6649
      @vladig6649 9 месяцев назад +5

      @@analyst_klondike Да, и чтобы начать изучение VBA и разработку на нем приложений, то логичнее будет начать с самого Visual Basic, например, его последней редакции VB6. На практике освоить разработку простых форм с контролами (controls), которые все присутствуют и в VBA, освоить разработку СОМ-компонентов в формате dll-файлов, которые можно будет использовать в своих VBA-приложениях.
      А если посмотреть на MS Office в целом, то его общая концептуальность, архитектура объектных моделей входящих приложений, простой но функционально мощный язык программирования VBA, компоненты доступа к данным - все это продумано и сделано на высочайшем уровне, если не сказать гениально.

    • @menestrier7474
      @menestrier7474 3 месяца назад

      @@vladig6649 Не совсем, начинать лучше с VBA.... Литература свежее, и материалы... а также VB6 развернули вокруг VBA.... Более того ЯП вообще-то развивается, как VB6, так и VBA, и их можно смело назвать полукомпилируемым или полуинтерпретируемым... Но это так мысли в слух, на счет интерфейса тоже не правда, есть дополнение, которое меняет стандартный интерфейс редактора VBA и добавляет некоторые возможности, его и искала... забыла, как называется... потеряла после переустановки ОС... Проблемы вовсе не в развитии, оно идет хоть и не от Microsoft проблема в переходе на облачные сервисы и сетевые технологии... Тут уже JS или Python....

    • @user-iv1ys3uo9e
      @user-iv1ys3uo9e Месяц назад

      Совершенно верно. Я когда начал применять Еxcel и изучать vba для автоматизации своих инженерных задач я офигел от того какие вещи в нем можно делать, а макроредактор это вообще ключ успеха для новичка.

    • @vladig6649
      @vladig6649 Месяц назад

      ​@@user-iv1ys3uo9e Одни из лучших, на мой взгляд, учебников для изучения программирования на VBA являются книги Владимира Биллига "Программирование на VBA в MS Office".

  • @yurafedchenko2733
    @yurafedchenko2733 11 месяцев назад +1

    4:26 - проблему переноса программы на python-е можно было бы нивелировать формированием exe - файла, однако лишь для программы единоразового использования это имеет мало смысла.

  • @TheNinesku
    @TheNinesku 7 месяцев назад +1

    Однозначно надо и то и другое

  • @AndreyDelay
    @AndreyDelay Год назад +5

    Использую VBA так как очень часто задачи прилетают от коллег и руководства, в формате решил -> отдал в использование.
    Так же внедряются инструменты в книги подконтрольным организациям, и python есть только у пары человек из всех с кем взаимодействую. А 90% ПК задушены безопасниками, я сам программирую на Java , так что даже её не установить никак …

    • @vladig6649
      @vladig6649 9 месяцев назад

      VBA концептуально интегрирован в пакет MS Office как инструмент программирования внутри входящих в него приложений. Так сложилось исторически. Принципиальным моментом является простота VBA имеющего в своей основе Visual Basic, которой обеспечивается ясность и читабельность программного кода особенно для его дальнейшей поддержки.

  • @denis27054
    @denis27054 2 месяца назад +2

    VBA использую для решения задач "здесь и сейчас". Настолько обленился, что мне проще накидать несколько строк кода чем погружаться в изучение функций еxcel.

    • @analyst_klondike
      @analyst_klondike  2 месяца назад

      По всей видимости, вы весьма продвинутый пользователь Excel, коли пишете код на VBA даже если аналогичный функционал уже есть в Excel "из коробки"

    • @denis27054
      @denis27054 2 месяца назад

      @@analyst_klondike Я не считаю себя продвинутым пользователем, несмотря на то что знаком с ним больше 20 лет. Даже сейчас я не могу сказать что знаю его возможности хотя бы на 50%. В основном использую vba для работы с логами программ - таблицы с десятками тысяч текстовых строк, ищу иголки в стоге сена. Excel в связке с VBA весьма мощный инструмент, жаль что большинство использует его для рисования таблиц.

  • @user-sw9mx7ow7s
    @user-sw9mx7ow7s Год назад

    Спасибо. Подскажите где скачать англо-русский словарь для VBS?

  • @weters1990
    @weters1990 11 месяцев назад +2

    Vba используется не только в ексель ... Имеет свои библиотеки которые взаимодействуют со сторонними офисными продуктами (аксес, ворд, поверпоинт... др.) и не офисными программами (автокад... др.)... Также обращается к windows . Создает папки, файлы , открывает сторонние приложения, выключает процессы...
    Пайтон нужно учить только для красивой визуализации рабочей формы приложения ... Такое себе ... Для офисного рабочего это далеко не важно

  • @prymotuda9783
    @prymotuda9783 9 месяцев назад +1

    Учитывая новости, что Microsoft интегрирует поддержку Python в Excel то плюсы и минусы изменятся

    • @vladig6649
      @vladig6649 9 месяцев назад

      Если ЯП Python поддерживает работу с COM-компонентами, на которых построены объектные модели всех приложений пакета MS Office, то на нем можно с успехом работать с этими моделями. Но лучше из VBA запускать модули (приложения) написанные на самом Python'e. Хотя все можно проще сделать на самом VBA.

  • @zsnjA
    @zsnjA Год назад

    Запилили полноценные шарпы вместо vba в excel, все бы кайфовали

    • @analyst_klondike
      @analyst_klondike  Год назад +2

      Да, многие об этом мечтают, но, боюсь, не запилят. На VBA написано много кода и его нельзя просто так взять и бросить.

    • @vladig6649
      @vladig6649 8 месяцев назад

      А лучше С++ или какую-нибудь Java и тп. Просто смешно.
      VBA концептуально интегрирован во все приложения MS Office как основной и достаточно простой инструмент разработки. Внутри этих приложений можно работать и на другом ЯП, если он через ActiveX и СОМ-компоненты способен работать с их объектыми моделями.

    • @yuliyi
      @yuliyi 4 месяца назад +1

      Если бы там были шарпы я бы и весь наш офис инженеров МЕХАНИКОВ ( не программистов ) плакали бы горькими слезами

  • @user-ou7fw1sg1r
    @user-ou7fw1sg1r Месяц назад

    Выбирай оба... Как я)))

  • @simplyx1489
    @simplyx1489 Год назад +2

    Наверное питон ещё хорош тем, что он есть в Power BI, который велючает и каери и пивот, но получше, свежее

  • @user-qh5fr3yo1w
    @user-qh5fr3yo1w 2 месяца назад +1

    То есть для простых задач VBA вполне подойдёт. Я только начал изучать Excel. Значит VBA самое то.

    • @analyst_klondike
      @analyst_klondike  2 месяца назад

      Можно и сложные решать, зависит от вашего желания погружаться в VBA. Кстати, в телеграм-канале есть пост с картой обучения VBA - какие видео смотреть, в каком порядке и для каких целей

  • @tamikdgioev7031
    @tamikdgioev7031 Год назад

    Vba для Exsel, все же более предпочтительный, хотя книги и исходники по нему исчезают, Python все же лучше для Liber office VBA есть не только в Excel и в Office... как и Python, и что бы понадобился Python наверное масштаб данных должен выйти за рамки Excel или вообще одного ПК, с другой стороны в новых версиях на сколько знаю планировать использовать javascript...

    • @vladig6649
      @vladig6649 9 месяцев назад

      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 9 месяцев назад

      ​@@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 и другие. Так что свое оставлю при себе.