Как стать автором
Обновить
2.33
Рейтинг

Visual Basic for Applications *

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

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

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

Блог компании Ростелеком-Солар Информационная безопасность *Visual Basic for Applications *

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

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

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

Новости

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

Ненормальное программирование *C# *Параллельное программирование *Visual Basic for Applications *

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

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

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

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

Блог компании Специальный Технологический Центр Visual Basic for Applications *Подготовка технической документации *

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

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

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

Блог компании Специальный Технологический Центр Visual Basic for Applications *Подготовка технической документации *

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

В данной статье, я расскажу о своем подходе к автоматизации такой работы на примере документов 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
Просмотры 5.9K
Комментарии 47

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

Блог компании Tele2 Microsoft SQL Server *Microsoft Access *Финансы в IT Visual Basic for Applications *

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

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

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

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

Блог компании Microsoft .NET *Visual Studio *Разработка под Windows *Visual Basic for Applications *

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

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

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

Программирование *Математика *Visual Basic for Applications *
Из песочницы

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

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

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

A=X*Y,

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

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

Читать далее
Всего голосов 25: ↑18 и ↓7 +11
Просмотры 6.4K
Комментарии 26

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

Блог компании Россельхозбанк Управление проектами *Visual Basic for Applications *

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

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

Читать далее
Всего голосов 11: ↑9 и ↓2 +7
Просмотры 4.8K
Комментарии 1

Blitz Excel UI

SQL *Microsoft SQL Server *Visual Basic for Applications *

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

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

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

Высокая производительность *API *Разработка для Office 365 *Интернет вещей Visual Basic for Applications *
Из песочницы

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

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

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

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

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

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

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

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

Читать далее
Всего голосов 9: ↑7 и ↓2 +5
Просмотры 8.6K
Комментарии 4

И снова про MS Excel

SQL *Microsoft SQL Server *Visual Basic for Applications *Data Engineering *

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

Что можно готовить на VBA?
Всего голосов 15: ↑13 и ↓2 +11
Просмотры 18K
Комментарии 84

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

Блог компании Северсталь Разработка для Office 365 *Visual Basic for Applications *
Tutorial

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

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

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

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

Блог компании SkillFactory Информационная безопасность *.NET *PowerShell *Visual Basic for Applications *
Перевод

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

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

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

Анализ и проектирование систем *Визуализация данных Visual Basic for Applications *Подготовка технической документации *

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

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

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

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

Блог компании RUVDS.com Программирование *Visual Basic for Applications *
Перевод


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

Функция количества високосных дней в периоде

Программирование *Алгоритмы *Функциональное программирование *Разработка для Office 365 *Visual Basic for Applications *
Из песочницы

Эффективная функция вычисления количества дней високосных и невисокосных лет для Excel.

Как известно «Лень – двигатель прогресса». В своей работе однажды я столкнулся задачей, когда нужно было составить таблицу расчёта процентов по договору займа, где за базу должно было быть фактическое количество дней в году. Неудобство составляло то, что нужно было не забыть про високосные года и разделять дни, которые относятся к високосному году и дни не високосных лет. Была написана простенькая формула, но позже я выяснил, что расчётом високосных лет не всё так просто.

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

Метод Application.Run – простой способ подружить Office-ribbon и обычные VBA-макросы (на примере C# и Excel)

Visual Studio *C# *Visual Basic for Applications *
В статье рассматривается использование Visual Studio для решения узкой задачи – собственно вызов VBA-макросов, расположенных в надстройках или документах, с помощью кнопок, которые разработчик может разместить в необходимых дополнительных (отдельно созданных) группах элементов вкладки НАДСТРОЙКИ ленты Excel или отдельных вкладках, и, при желании, использовать все современные возможности для работы с этими элементами.

Для читателей, в целом знакомых с тем, как в Visual Studio (конкретно – механизмы Visual Studio Tools for Office (VSTO)) реализована работа с объектами офисных приложений (объектные модели, само собой, ничем не отличаются от доступных средствами VBA), целесообразно сократить время чтения – основную мысль статьи можно выразить одной строкой C#-кода:

Globals.ThisAddIn.Application.Run("Файл_с_макросами.xlsm!МакросОдин");

которая аналогична хорошо известному VBA-вызову Application.Run(“ИмяМакроса”) – в том числе и в варианте вызова как функции:

MyValue = Globals.ThisAddIn.Application.Run("Файл_с_макросами.xlsm!МакросОдин");

Ну и вариантах с передачей одного или нескольких параметров разных типов:

Globals.ThisAddIn.Application.Run("Файл_с_макросами.xlsm!МакросОдин", "Параметр1", 2);

VBA-разработчиков, для которых актуальна данная проблема, – приглашаю продолжить чтение. Пошаговое выполнение демо-примера займет примерно 10-20 минут (без учета затрат времени на загрузку, установку и стартовую настройку Visual Studio Community Edition).
Читать дальше →
Всего голосов 8: ↑8 и ↓0 +8
Просмотры 6K
Комментарии 0

Защита проекта VBA в MS Excel

Информационная безопасность *Visual Basic for Applications *
Из песочницы
Всем привет! Я обычный пользователь MS Excel. Не являющийся профессиональным программистом, но накопивший достаточно опыта, для установки и обхода защиты проектов VBA.

Дисклеймер:

В данной статье рассмотрены виды защиты проектов VBA, от несанкционированного доступа. Их сильные и слабые стороны – ранжирование.

Цель статьи показать слабые и сильные стороны каждого вида защиты проекта VBA в MS Office.

Демонстрация разработанных инструментов, в надстройке Macro Tools VBA, для снятия и установки той или иной защиты. 

Все инструменты реализованы стандартными средствами VBA, без использования дополнительных библиотек. 


Главная панель Надстройки Macro Tools VBA
Читать дальше →
Всего голосов 21: ↑19 и ↓2 +17
Просмотры 17K
Комментарии 8

in2sql: Работаем с разнообразием ODBC источников

SQL *Visual Basic for Applications *
Продолжаю серию рассказов о OpenSource разработке In2sql, которая визуализирует объекты SQL для выгрузки данных в Excel (по сути это серия статей — документация к разработке).

В предыдущих частях:


В данной части поговорим о том, как создается список объектов, которые выводятся в навигационное дерево.

image
Читать дальше →
Всего голосов 7: ↑7 и ↓0 +7
Просмотры 1.8K
Комментарии 1

Вклад авторов