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

Visual Basic for Applications *

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

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

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

Время на прочтение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 мин
Количество просмотров4.9K

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Читать далее
Всего голосов 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 мин
Количество просмотров8.5K

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

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

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

Время на прочтение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 мин
Количество просмотров11K

Простых чисел бесконечное множество. В интернете в свободном доступе можно найти таблицы простых чисел до 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 мин
Количество просмотров7.9K

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

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

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

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

Blitz Excel UI

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

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

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

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

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

Работая в 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 мин
Количество просмотров20K

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

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

Как упростить рутинные задачи, используя VBA

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

Привет, Хабр! Я Сергей Чебарев, аналитик в команде визуализации данных «Северсталь-инфокома», и сегодня я расскажу, как можно, используя VBA и приложения Office, автоматизировать рутину в работе. VBA (Visual Basic for Applications) – это упрощенная версия Visual Basic, встроенная в множество продуктов Microsoft Office, и соответственно, эти продукты можно подружить между собой.

Самое очевидное применение VBA (который ещё часто и не вполне корректно называют макросами) – это автоматизация типовых задач с множеством повторяющихся шагов, делать которые руками долго, скучно и чревато ошибкам от усталости. Рассмотрим одну из таких задач.

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

Созданные с помощью библиотеки .NET документы Excel обходят проверки безопасности

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

Обнаруженное недавно семейство вредоносного ПО под названием Epic Manchego использует хитрый трюк для создания вредоносных файлов MS Excel с минимальной степенью обнаружения и повышенной вероятностью обхода систем безопасности. В преддверии старта нового потока курса Этичный хакер, делимся с вами описанием этой уязвимости. Изучая способы обхода систем безопасности, используемые злоумышленниками, можно понять, какие первоочередные меры следует предпринять для защиты систем от атак подобного рода.

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

Хорошие BPM — инструменты, которых нет и нет. Моделирование процессов

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

Поговорим о том, какие инструменты хотелось бы иметь при описании бизнес-процессов. Инструментов BPMS (BPM systems) много, но выбрать то особо нечего …  

Ниже перечислим некоторые важные инструментальные возможности некоторых сред моделирования процессов (в основном ARIS и MS visio).

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

BASIC. Кроссплатформенное ПО тогда и сейчас

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


Удивит ли вас, если я скажу, что BASIC все еще не утратил свою актуальность? Помимо того, что этот язык явился прародителем современных домашних вычислительных систем, он все еще остается жизнеспособным даже вне кругов ретро-энтузиастов. Предлагаем окунуться в краткий обзор истории его становления, начиная с азов и заканчивая современными реализациями.
Читать дальше →
Всего голосов 30: ↑25 и ↓5+38
Комментарии68