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

Visual Basic for Applications *

Visual Basic для автоматизации в приложениях

Сначала показывать
Порог рейтинга
Уровень сложности

MS Excel — Инициализация модулей VBA

Время на прочтение7 мин
Количество просмотров3.8K

В статье описан простой контроллер инициализации модулей VBA Excel.

Все типы модулей VBA MS Excel позволяют создавать код, автоматически выполняемый при загрузке и/или выгрузке модуля.

Однако, для обычных модулей с макросами, VBComponent.Type=001, примеров автоматической инициализации автор в сети не обнаружил.

Читать далее
Всего голосов 4: ↑4 и ↓0+4
Комментарии2

Как обновить 100 Excel файлов, чтобы не отсохли руки и пару слов о немецкой диджитализации

Время на прочтение13 мин
Количество просмотров15K

Всем привет! На связи Максим и я продолжаю описывать свой университетский опыт работы VBA программистом с Excel. В сегодняшней статье поговорим о том, как можно произвести изменения в десятках, сотнях, миллионах Excel файлов за один заход с помощью одного макроса и как этот концепт может сэкономить вам кучу времени, сил и средств. Данная статья будет полезна тем, кто вынужден часто совершать одинаковые изменения в большом количестве подобных друг другу Excel файлах, тем, кто устал от рутины и хочет автоматизировать процесс обновления рабочих документов или молодым студентам, которые находятся в поисках идей того, как можно выделится своими скиллами на рабочем месте. Бонусом внутри вы найдете пару моих рассуждений на тему дискуссий, которые возникли под моей прошлой статьей (если еще не читали ее, то советую ознакомиться, чтобы лучше понимать фон этой), а именно на тему актуальности Excel и VBA в европейских реалиях и общего уровня диджитализации на немецком рынке. Погнали!

Читать далее
Всего голосов 8: ↑7 и ↓1+9
Комментарии17

ВПР на максималках

Время на прочтение3 мин
Количество просмотров12K

Думаю многие, если не большинство, в курсе, что такое ВПР и его неоспоримая сила при поиске и объединении данных из разных таблиц. Те же, кто достиг просветления, используют не менее полезную функцию ИНДЕКС, чтобы не париться, где там идентификатор: слева или справа.

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

Читать далее
Всего голосов 9: ↑9 и ↓0+9
Комментарии8

Как запланировать повторяющийся запуск VBA-процедуры в MS Excel без Application.OnTime

Время на прочтение1 мин
Количество просмотров2.5K

Привет, Хабр!

В этой статье мы демонстрируем простую альтернативу Application.OnTime для периодического запуска VBA-процедур в MS Excel.

Данный подход особенно удобен, если требуется передавать данные из листа MS SharePoint в книгу MS Excel в режиме реального времени.

С уважением,
Владимир

Читать далее
Всего голосов 4: ↑3 и ↓1+2
Комментарии0

Истории

Человеческий фактор и автоматизация

Время на прочтение7 мин
Количество просмотров4.9K

Итак, представим, что ты – разработчик.... Нет, немного не так. Ты – чертов сотрудник, который что-то может в автоматизацию и периодически что-то всем вокруг пишет на VBA, и который лично вовлечен во все происходящие процессы.

 Эпизод 1. Начать с себя.

Собственные процессы обычно автоматизируются на ура, если ты не имеешь раздвоения личности. Согласование с самим собой, как правило, идеальное, и та вещь, которую ты напишешь, ты сам ей и пользуешься, тот интерфейс, который прикрутишь, с тем и работаешь. Тот источник данных, который берешь, тот ты берешь всегда. Абсолютно идеальный слчай.

И это засада.

Например, автоматизация отслеживания и сохранения в папку документов из почты по маске.  Сделал себе такую штуку.

Уже на третий день выяснил, что чертов подрядчик А, шлющий эти акты и накладные, имеет тенденцию маску, которая записана в инструкции им и согласована на высшем уровне, писать сокращенно или вообще не писать. Надо застроить козла – пишу гневное письмо аж гендироктору подрядчика, что работники его не выполняют регламент. Проходит неделя, ситуация не изменяется, зато есть обещание директора все исправить. К тому времени уже пять подрядчиков маску так или иначе корежат, и все пять обещают исправиться. Но работники их, видимо имеют память как у рыбки, и снова, и снова по маске у меня пролетают документы мимо, и в трубку орет матом неадекватный менеджер, почему склад не согласует им приемку.

Окей! Я же не идиот. Пусть будет много масок. Создается файлик справочника масок и по нажатию кнопки маска в него добавляется. Работает. Но вместо автомаизированного сохранения вложений определенного типа появляется ручная операция – глазками определить, что за тип письма+ добавление масок кнопкой.

Читать далее
Всего голосов 14: ↑9 и ↓5+7
Комментарии25

Тестирование производительности таблиц офисных пакетов в Linux на примере MS Office, LibreOffice, МойОфис, OnlyOffice

Время на прочтение23 мин
Количество просмотров17K

Актуальность темы обусловлена форсированием перехода Государственных ведомств и госкомпаний России с Windows на Astra Linux. Это было сделано на фоне заявления корпорации Microsoft о сворачивании бизнеса в РФ. Так как у автора, да и у многих других пользователей MS Office, за долгие годы работы скопилось ряд наработок, то вопрос об их работоспособности и переносе под новый офисный пакет, на платформе Linux, стоит остро, как и возможность малой автоматизации рутинных действий.
Читать дальше →
Всего голосов 18: ↑15 и ↓3+14
Комментарии56

Как я с помощью VBA оплатил себе университет

Время на прочтение5 мин
Количество просмотров51K

Большинство молодых людей, когда слышат про Excel, вспоминают сразу уроки информатики в школе или пары в универе, где нас учили выставлять ширину бортиков ячейки и как писать текст в ней по диагонали. Нам демонстрировали работу со статическими таблицами, учили их оформлять и форматировать. Но знаменитую цитату Моргана Фримана из фильма Люси: «Что, если бы мы использовали мозг на 100 процентов?» можно перефразировать на: «Что, если бы мы использовали Excel на 100 процентов?». Дело в том, что многие из вас даже не представляют на сколько это многогранная и сложная программа, функционал которой уходит далеко за пределы форматирования таблиц и подготовки простеньких графиков. Я тоже этого не представлял, пока это не стало моим основным источником заработка во время учебы в университете. И в своей статье я хочу рассказать вам про мой опыт работы с Excel и VBA, о том какие интересные вещи делают с его помощью некоторые фирмы и о том, как на этом можно неплохо подзаработать.

Читать далее
Всего голосов 54: ↑49 и ↓5+60
Комментарии201

Альтернативные методы организации и создания файловых информационных ресурсов

Время на прочтение8 мин
Количество просмотров5.2K

Ранее разработки в данном направлении уже велись, и в результате проделанной работы был создан продукт в виде десктопного приложения. К сожалению, он не получил широкого применения, так как использовался узким кругом сотрудников в довольно ограниченной сфере деятельности.

Приложение было разработано на языке программирования Visual Basic 6.0. Для описания содержимого файлов использовалось хранилище, реализованное на SQL server с типом данных varbinary(max).

Читать далее
Всего голосов 3: ↑0 и ↓3-3
Комментарии3

Автоматизация скучной жизни инженера по кибербезопасности: как тратить меньше времени на рутинные задачи

Время на прочтение9 мин
Количество просмотров7.1K

Мой первый профессиональный опыт как специалиста по кибербезопасности состоял в разработке огромного количества документации: отчёты по аудиту, модели угроз, технорабочие проекты на систему защиты, комплекты ОРД и так далее. Тогда на эти задачи у меня уходила уйма времени, но одна из них, как мне казалось, длилась целую вечность. При оформлении работ технического проекта по ГОСТ требовалось делать двойную нумерацию в разделах и сквозную нумерацию страниц всего проекта. После печати документа приходилось шариковой ручкой нумеровать все страницы проекта, а их количество порой превышало несколько сотен.

Именно решение этой проблемы при помощи скрипта в OpenOffice и открыло для меня мир автоматизации работы с текстом. Затем был MS Office, VBA-скрипты и годы практики. Задачи стали решаться быстрее, и я смог больше времени посвящать учебе. Это превратило некогда скучную рутину в творчество. Этим опытом я и хочу поделиться в серии статей об автоматизации различных бумажных задач кибербеза. В этой статье расскажу о базовых идеях автоматизации в Word и Excel на примере классификации и чуть-чуть на примере модели угроз. Советы будут полезны начинающим проектировщикам, аудиторам и аналитикам. Надеюсь, с этими инструментами у вас, как и у меня когда-то, появится время увидеть лес (безопасность) за деревьями (бумагой).

Читать далее
Всего голосов 15: ↑11 и ↓4+7
Комментарии3

Подключаем к Экселю GPU и ускоряем Эксель в 300 раз

Время на прочтение3 мин
Количество просмотров31K

Попалась мне задачка оптимизации, а так как я большой фанат Экселя, то и выбор инструмента был скорым. Единственная пакость: Эксель дико медленный. Так, на одну итерацию уходило как минимум 35 минут, а таких итераций планировалось сделать 1275 (как минимум)!

Цель этого небольшого проектика – ускорить исполнение VBA скриптов задействуя все доступные мне железяки: GPU и CPU. Ну и до кучи, так как библиотека моя, была реализована многозадачность.

О, да, я хочу на это посмотреть!
Всего голосов 35: ↑34 и ↓1+42
Комментарии26

Автоматизация разработки конструкторской документации средствами VBA. Продолжение

Время на прочтение7 мин
Количество просмотров5.7K

Продолжение статьи об автоматизации создания комплектов проектных документов по ЕСКД и СПДС.

Читать далее
Всего голосов 2: ↑2 и ↓0+2
Комментарии3

Автоматизация разработки конструкторской документации средствами VBA

Время на прочтение6 мин
Количество просмотров11K

При выполнении проектов, в которых требуется разработка конструкторской документации соответствующей ГОСТам ЕСКД или СПДС, возникает много задач, связанных с ее корректным изготовлением. Часть этих задач связана с непосредственным оформлением документов – заполнением основных надписей, полей в форматных рамках документа. Другая часть задач связана с поддержанием связности информации в пределах комплекта документов -  единство используемых децимальных номеров, названий изделий, используемых в тексте наименований и тому подобных вещей. Такие задачи можно решать по разному, но автоматизация, безусловно, облегчит жизнь разработчику.

В данной статье, я расскажу о своем подходе к автоматизации такой работы на примере документов Word. Этот же подход применим и к Visio и к AutoCAD и к любому продукту, в котором предусмотрена возможность использования Visual Basic for Application (VBA).

Представим себе такие входные условия для решения:

в составе документации должны быть документы по ГОСТ 2.102, в том числе текстовые, оформленные с учетом ГОСТ 2.105, схемы по ГОСТ 2.701 и, не дай бог, что-то еще строительное по ГОСТ 21.101. А из инструментов есть только стандартный Microsoft Office, Microsoft Visio, Autodesk AutoCAD (это если бог был немилостив) и собственное желание оформить все как можно быстрее, лучше и не затрачивая усилий (то есть, в наличии имеется продуктивная лень).

Читать далее
Всего голосов 14: ↑14 и ↓0+14
Комментарии47

Отправка данных из *.XLSX в Google Sheets

Время на прочтение3 мин
Количество просмотров9K

Всем привет! Я обычный пользователь MS Excel и Google Docs, любитель-программист на VBA, App Script и JavaScript.

Читать далее
Всего голосов 8: ↑8 и ↓0+8
Комментарии2

Ближайшие события

27 августа – 7 октября
Премия digital-кейсов «Проксима»
МоскваОнлайн
11 сентября
Митап по BigData от Честного ЗНАКа
Санкт-ПетербургОнлайн
14 сентября
Конференция Practical ML Conf
МоскваОнлайн
19 сентября
CDI Conf 2024
Москва
24 сентября
Конференция Fin.Bot 2024
МоскваОнлайн
25 сентября
Конференция Yandex Scale 2024
МоскваОнлайн
28 – 29 сентября
Конференция E-CODE
МоскваОнлайн
28 сентября – 5 октября
О! Хакатон
Онлайн
30 сентября – 1 октября
Конференция фронтенд-разработчиков FrontendConf 2024
МоскваОнлайн

Построение цифрового финансового ОЦО силами непрофессиональных разработчиков

Время на прочтение14 мин
Количество просмотров2.9K

            Когда наша команда изучала опыт других компаний, то мы просто не смогли найти похожих примеров массовой автоматизации бухгалтерского и учетного функционала, поэтому хотим поделиться нашим кейсом. Мы встречали лишь точечную инфу о внедрении роботизации на отдельных операциях, но это был довольно узкий функционал, а о массовом применении решений (с роботами и не только) на учетных транзакциях — вообще тишина.

            Все, о чем буду говорить в этой статье, уже в проде и давно приносит профит как нам, так и всей компании. Мы с соавтором попытались включить сюда по максимуму важной инфы — начиная с того, как формировались и менялись наши представления о решении, до уже рабочей автоматизации, которую запилили своими руками. Повторю что написано в заголовке: мы не профессиональная команда из IT, а выходцы из областей финансов и бухгалтерии, ступившие на этот тернистый путь. Надеемся, что этот текст окажется полезным, и у кого-то благодаря нашим прогулкам по граблям получится пройти этот путь гораздо быстрее.

Читать далее
Всего голосов 3: ↑2 и ↓1+3
Комментарии2

Что нового в Windows Forms в .NET 6.0

Время на прочтение5 мин
Количество просмотров14K

Мы продолжаем поддерживать и внедрять инновации в среду выполнения Windows Forms. В этой статье обсудим, что мы сделали в рамках .NET 6.0. В том числе среди улучшений: улучшения и исправления специальных возможностей; начальная загрузка приложения; обновления шаблона; больше конструкторов среды выполнения; высокий DPI и улучшения масштабирования и другое.

Читать далее
Всего голосов 8: ↑8 и ↓0+8
Комментарии24

Проверка числа на простоту

Время на прочтение2 мин
Количество просмотров12K

Простых чисел бесконечное множество. В интернете в свободном доступе можно найти таблицы простых чисел до 21 000 000. Существующие методы проверки чисел на простоту очень сложны, не универсальны, поэтому мной разработан еще один способ проверки числа на простоту для чисел больше 10.

Простое число – целое положительное число, которое имеет два различных натуральных делителя: единицу и самого себя, то есть, если число можно разложить на множители значит оно не простое – а составное.

Пусть А – натуральное число, тогда

A=X*Y,

где Х и Y – натуральные числа.

Мы знаем, что простые числа не четные, и все числа, заканчивающиеся на 5 и 0 кратны пяти, значит, простые числа всегда заканчиваются на 1, 3, 7, 9. Выберем из таблицы умножения примеры, в которых последняя цифра произведения равна 1 или 3 или 7 или 9 (смотрим рисунок).

Читать далее
Всего голосов 19: ↑12 и ↓7+11
Комментарии26

Как мы JIRA и MS Project подружили

Время на прочтение12 мин
Количество просмотров8.1K

Запланировали задачу в MS Project, а исполнители не в курсе, т.к. смотрят свои таски в JIRA? Вручную заводить в таски долго, а любое перепланирование вызывает проблемы?

Если вы сталкивались с этим, мой опыт может показаться полезным.

Читать далее
Всего голосов 8: ↑6 и ↓2+7
Комментарии1

Blitz Excel UI

Время на прочтение4 мин
Количество просмотров2.6K

Всем привет. "Не возвращаясь" к нашим баранам из предыдущей статьи "И снова про MS Excel", хочу показать, что же все-таки у меня получилось для работы со скриптами First Response Kit (sp_Blitz) от Brent Ozar и компании. Нравится данный набор и для анализа загруженности SQL Server-а и оптимизации запросов на оном. Причем сам Brent предлагает нечто подобное за денюжку. Для тех кто пользовался, пользуется или думает пользоваться - предлагаю взглянуть на то что у меня получилось.

Едем дальше
Всего голосов 3: ↑3 и ↓0+3
Комментарии0

Как Excel и VBA помогают отправлять тысячи HTTP REST API запросов

Уровень сложностиСредний
Время на прочтение9 мин
Количество просмотров22K

Работая в IoT-сфере и плотно взаимодействуя с одним из основных элементов данной концепции технологий – сетевым сервером, столкнулся вот с какой проблемой (задачей): необходимо отправлять много запросов для работы с умными устройствами на сетевой сервер. На сервере был реализован REST API с оболочкой Swagger UI, где из графической оболочки можно было отправлять только разовые запросы. Анализ сторонних клиентов, типа Postman или Insomnia показал, что простого визуального способа поместить в скрипт массив из необходимого перечня идентификаторов устройств (или любых других элементов сервера), для обращения к ним – не нашлось.

Так как большая часть работы с выгрузками и данными была в Excel, то решено было вспомнить навыки, полученные на учебе в университете, и написать скрипт на VBA, который бы мою задачку решал.

Необходимо было:

·      получать информацию по устройствам с различными параметрами фильтрации (GET);

·      применять изменения в конфигурации по устройствам: имя, профиль устройства, сетевые лицензии и пр. (PUT);

·      отправлять данные для конфигурации и взаимодействия с устройствами (POST).

И сегодня я расскажу вам про то, как с помощью Excel, пары формул и самописных функций на VBA можно реализовать алгоритм, отправляющий любое необходимое количество REST-API запросов с использованием авторизации Bearer Token.

Данная статья будет полезная тем, кто воспользуется данным решением под Windows, но еще больше она будет полезна тем людям, которые хотят использовать данное решение на MacOS (с Excel x64). Как вы уже догадались, ниже будут рассмотрены два варианта реализации под разные системы, так как с MacOS есть нюанс.

Читать далее
Всего голосов 6: ↑4 и ↓2+5
Комментарии4

И снова про MS Excel

Время на прочтение5 мин
Количество просмотров21K

Однажды в моем инстаграме появились сразу несколько блоков рекламы по поводу ознакомительных курсов нескольких Российских онлайн-школ на тему "Аналитика данных на Python для чайников". Подумав о том, что можно с пользой для себя провести несколько часов и прокачать свои навыки по анализу, я записался и посетил данные курсы. Самое забавное, что практически все что я видел начиналось словами: "Давайте выбросим MS Excel (далее с вашего позволения просто - "эксель") и начнем работать на Python". Возмущению моему не было предела. В разумных рамках. Пройдя свой путь от разработчика (до черти как это назвать) и постоянно работая с данными, могу только привести в ответ фразу знаменитого персонажа Alf - "Вы просто не умеете их готовить".

Что можно готовить на VBA?
Всего голосов 12: ↑10 и ↓2+11
Комментарии85