Обновить
4.75

Visual Basic for Applications *

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

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

Аутентификация Open Id Connect на языке VBA

Уровень сложностиСредний
Время на прочтение18 мин
Охват и читатели7.2K

В статье рассмотрим методику анализа протокола аутентификации OpenIdConnect и самого популярного механизма авторизации – Authorization code flow, а также разработку приложения на языке VBA, осуществляющего за пользователя такую аутентификацию для последующего сбора данных из корпоративных систем. В статье есть код, который можно переиспользовать, но ввиду отличий в корпоративных инфраструктурах организаций, начать необходимо с анализа контекста организации, применяемых настроек протокола аутентификации.

Решая аналогичную проблему, у меня не получилось найти готовых решений ни на русском, ни на английском языке. Кроме Basic аутентификации на VBA, иной информации нет. Пришлось пройти путем экспериментов и потратить около 8 часов на изучение вопроса и воспроизведение протокола аутентификации OIDC на языке VBA. Надеюсь, информация в этой статье позволит сэкономить ваше время. Статья будет полезна как опытным разносторонним разработчикам с широким кругозором, а также начинающим специалистам по VBA без опыта web разработки. Те моменты, которые могут бы не интуитивны, особенно важны по тексту, заняли время на эксперименты, я выделю жирным. Сразу предупреждаю, что серебряной пули в статье нет, не проведя анализ вашего приложения, просто скопировать код и использовать не получится. Код потребует адаптации.

Читать далее

Новости

«Офис+ Стандартный» офисный пакет в закрытых и открытых корпоративных контурах

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели4.5K

В современном мире защита от несанкционированного доступа к внутренней информации предприятия играет важную роль в системе безопасности предприятия. Многие предприятия формируют закрытый информационный корпоративный контур, в котором создается необходимая инфраструктура для решения бизнес задач предприятия. Решение таких задач невозможно без обеспечения сотрудников качественным и функциональным ПО, таким как офисный пакет «Офис+ Стандартный». Информационным службам предприятия приходится решать задачи по установке, обновлению, управлению версиями ПО, создание и поддержание процессов взаимодействия между различным ПО внутри корпоративного контура. Рассмотрим, как офисный пакет «Офис+ Стандартный» помогает решать подобные задачи.

Читать далее

Инструменты для работы с макросами VBA в «Офис+ Стандартный»

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели7K

Предыдущая статья Практическое применение VBA макросов в «Офис+ Стандартный» вызвала много вопросов, о возможности вести разработку или модификацию макросов VBA, особенно под Linux. Поэтому чтобы прояснить ситуацию, я решил сделать обзор инструментов доступных пользователю при использовании данного ПО. Надеюсь мне удастся закрыть эту тему данным обзором.

Макросы VBA позволяют решать задачи автоматизации рутинных действий, обработки и анализа данных, создания сложных отчетов, а также интеграции с другими приложениями. Они позволяют упростить работу с электронными таблицами, сократить время на выполнение повторяющихся задач, повысить точность благодаря минимизации человеческого фактора и расширить стандартный функционал программ, создавая новые функции и пользовательские интерфейсы. Все выше перечисленное позволяет делать модуль «Интерпретатор макросов VBA».

Читать далее

Практическое применение VBA макросов в «Офис+ Стандартный»

Уровень сложностиПростой
Время на прочтение3 мин
Охват и читатели12K

В статье предлагается решение проблемы российского бизнеса при переходе на отечественные офисные пакеты. На предприятиях накоплено огромное количество документов и таблиц, содержащих VBA код и связанных с ними бизнес-процессами. Отечественные операционные системы и офисные пакеты базируются на Linux и не позволяют пользоваться накопленными документами и бизнес-процессами, использующими VBA-автоматизацию, в полном объеме. Решение данной проблемы есть, и мы его рассмотрим ниже.

Рассмотрим практический пример использование макросов VBA в повседневной работе предприятия для взаимодействия с БАНКОМ. Обработка макросов VBA будем производить в редакторе «Офис+ Таблицы», производителя отечественного ПО ООО «ОФИС ПЛЮС». Файлы для подготовки данных для передачи в БАНК возьмем на сайте ПАО «ВТБ».

Читать далее

Как автоматизировать подготовку отчетности в Word: макросы на практике

Уровень сложностиПростой
Время на прочтение8 мин
Охват и читатели9.1K

Всем привет! Я студент-работяга, который увлекается аналитикой в многогранном мире ИБ. Почти каждая задача (как аналитика, так и студента) так или иначе заканчивается подготовкой каких-то материалов: для аналитика — отчета, для студента — курсовой работы. В процессе подготовки этих материалов неизбежно сталкиваешься с рутиной из однообразных кликов (разметка текста, форматирование картинок и много другой скукоты). Однако справиться с ней можно, и сегодня я расскажу, как это сделать с помощью автоматизации в редакторе Word посредством VBA-макросов.

Статья может быть полезна студентам и начинающим специалистам, но уверен, какие-то идеи пригодятся и тем, кто уже работает. Даже если вы не пользуетесь Microsoft Office, то все равно сможете почерпнуть для себя некоторые идеи, так как почти во всех пакетах есть поддержка языков программирования, например Basic в LibreOffice, Lua в пакете «МойОфис» или JavaScript в «Яндекс Документах». Кроме того, часть моих скриптов я выложил в открытый доступ.

Когда пишут про автоматизацию в Microsoft Office, то в большинстве случаев имеют в виду Excel, однако я сломаю шаблон и расскажу вам про автоматизацию в Word, которую часто незаслуженно обходят стороной.

Читать далее

Чистим строку от лишних/повторяющихся пробелов (и пробельных символов) в строковых значениях компактно. RegExp

Уровень сложностиПростой
Время на прочтение3 мин
Охват и читатели9.3K

Хочу поделиться компактной функцией для очищения лишних, повторяющихся пробелов и пробельных символов в строках. Не считайте это призывом, но если можно привести строковые данные в красивый вид без лишних хлопот, то почему бы и не воспользоваться. Те, кто не знаком с регулярными выражениями (regular expressions, RegExp, regex), может приоткроет форточку в этот славный и замороченный мир (Регулярные выражения (regexp) — основы)

Читать далее

Traceback в VBA? ЧТО?

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели1.9K

Как часто вы ловите ошибки в VBA?
А как часто вам приходится пытаться понять откуда ноги растут?

Если макрос состоит из одной процедуры, это немного другая история...
Но вот если у вас полноценный стек вызовов, когда:

Main() -> NestedSub1 -> NestedFunc -> NestedSub2 ... -> NestedSubN

как отловить, в каком произошла ошибка?

Окей, вы скажите "Поставим On Error GoTo Catch и в Catch: Debug.Print "Function name"", да?

А если эту функцию вызывают несколько разных Sub/Function, как понять в каком из них произошла ошибка?

Читать далее

Не нажимайте эту кнопку: почему макросы Office все еще опасны

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

В 1993 году вышел Excel 5.0 — первый продукт Microsoft, поддерживающий макросы на языке Visual Basic for Applications. Это событие стало настоящей революцией для офисных клерков: сотрудники, не обладавшие специальными знаниями в программировании, вдруг получили мощный инструмент для автоматизации монотонных офисных задач, которые прежде отнимали уйму времени. 

Однако макросы пришлись по душе не только работникам офисов. Всего спустя два года появился Concept — первый вирус, который эксплуатировал возможности макросов для кибератак. С тех пор макросы Microsoft Office стали излюбленным способом проникновения в корпоративную сеть у хакеров. Даже сегодня многие успешные атаки на компании начинаются с отправки фишингового письма с документом, который заражен вредоносным макросом.

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

Читать далее

Как на Excel заработать сотни миллионов? Опыт проекта RTO

Уровень сложностиПростой
Время на прочтение8 мин
Охват и читатели7.5K

Добрый день, читатели!

С чего обычно начинаются веселые проекты? Хочу поделиться одной историей длиной в 3 года.

Читать далее

Парсинг котировок ценных бумаг в Microsoft Excel и Google Таблицы с любого сайта

Уровень сложностиСредний
Время на прочтение4 мин
Охват и читатели6.7K

Хотя возможность автоматического получения котировок в «Эксель» или «Гугл Таблицы» упрощает ведение портфелей, существует несколько технических препятствий, с которыми можно столкнуться при парсинге или скрапинге (в общем виде это автоматический сбор данных из интернета, в таблицах работает через формулы или скрипты):

📍 Динамическая загрузка контента: современные веб-сайты часто используют JavaScript для загрузки текущий цен уже после первоначальной загрузки страницы. Это создает проблему для базовых методов парсинга.
📍 Ограничения API: некоторые веб-сайты и финансовые учреждения предлагают общедоступные API (например, Московская биржа или Банк России), но и они имеют свои ограничения.
📍А бывает, что можно найти АПИ, например для investing.com, но чтобы воспользоваться им потребует поиск альтернативных методов - имитация человека для того чтобы получить данные - использование автоматизации браузера.

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

Парсим 🤖

Формула прибыли: как автоматизировать расчеты юнит-экономики для тысяч товаров

Уровень сложностиПростой
Время на прочтение8 мин
Охват и читатели1.2K

Многие предприниматели до конца не понимают, что такое юнит-экономика и почему её расчет так важен. Постараюсь объяснить кратко и понятно. Юнит-экономика помогает разобраться в том, из чего складывается себестоимость вашего продукта — это все затраты, которые вы несёте на каждом этапе реализации товара.

Это мой кейс, прошу не судить строго, буду рад конструктивной обратной связи))

Читать далее

Автоматизация рутинной работы в форензике: извлечение временных атрибутов файлов по списку

Уровень сложностиСредний
Время на прочтение6 мин
Охват и читатели713

Представьте: у вас есть несколько тысяч файлов, и для каждого нужно извлечь метаданные — даты создания, модификации и последний доступ. Можно, конечно, сидеть и вручную копировать эти данные из Проводника. Один файл, второй… Через час работы голова уже плывёт, а впереди ещё сотни файлов. Но всего этого можно избежать.

Меня зовут Максим Антипов, я кибердетектив и преподаватель в CyberEd. В этом руководстве я покажу вам, как автоматизировать процесс извлечения атрибутов файлов с помощью скрипта на VBA. Мы настроим Excel так, чтобы он сам собирал данные о размере, дате создания, модификации и последнем доступе к файлам. 

Читать далее

Как я при помощи двух «костылей» смог автоматически сгенерировать опись документов для 700 страниц

Уровень сложностиСредний
Время на прочтение4 мин
Охват и читатели5.3K

Иногда бывают такие задачи за которые браться не хочется - например на фотографии реальная пачка документов около 700 страниц для которой надо составить сопроводительное письмо - то есть сделать опись документов. По примерной прикидке - ручной работы на целый день как минимум.

Ситуацию несколько облегчает то, что на эти распечатанные документы есть исходные Excel файлы.

Автоматизируем создание описи документов🤖

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

Шел 2025й год… а BASIC все еще в строю. Современной автоматизации сметчика пост — КС-ки

Уровень сложностиПростой
Время на прочтение20 мин
Охват и читатели3.1K

Сейчас в программные решения, связанные с IT в строительном секторе, вливаются большие деньги. Появляются новые программные продукты на базе ERP/CRM систем, которые раньше проектировались под маркетинг и продажи, для электронного документооборота (ЭДО) инженеров (ИТР). Частью современной стратегии Заказчиков многих рангов является путь цифровизации бумажного документооборота в пользу электронного, для чего Минстрой РФ старательно разрабатывает и обязывает к внедрению новые форматы электронных файлов типовых форм документов, на база XML. В этих условиях настоящая статья посвящена стыку новых и старых технологий документооборота в строительстве, на примере формирования комплекта закрывающих финансовых документов по типовым Контрактам в Строительстве.
Читать дальше →

Создание первого макроса JavaScript для табличного редактора Р7 офис

Уровень сложностиПростой
Время на прочтение5 мин
Охват и читатели4.6K

Продолжаем публиковать выдержки из бесплатного курса по разработке в Р7 офис

Что такое макросы?

Макросы — это набор инструкций или команд, которые выполняются автоматически. Они позволяют автоматизировать рутинные задачи и упростить работу с программами. В контексте редактора макросов в Табличном редакторе Р7-Офис, макросы предоставляют возможность автоматически выполнять повторяющиеся операции, такие как форматирование, вставка текста или изменение структуры документа.

Макросы - это так же небольшие скрипты, которые используются для облегчения повседневной работы с различными типами документов. Макросы Р7 используют синтаксис JavaScript и нотацию скриптов API Р7 Document Builder.
Есть несколько причин, по которым Р7 использует JavaScript для макросов:

Читать далее

Отличия разработки на VBA для MS Excel по сравнению JavaScript для Р7-Офис

Уровень сложностиСредний
Время на прочтение5 мин
Охват и читатели5.1K

Публикуется первая глава бесплатного курса основы разработки для Р7 . Дополнительные материалы можно найти вот тут

Особенности разработки в MS Office (Excel)

Базовым средством автоматизации в офисном пакете Microsoft Office, в течение длительного времени (С 1996 года по настоящее время) является скриптовый язык VBA (VisualBasic for Application). C 2007 года VBA не лицензируется для других разработчиков. Согласно статьи в Википедии , посвященной VBA, этот язык является неким упрощенным подмножеством языка VisualBasic.

Рассмотрим некоторые особенности VBA, которые потом будут являться основой для средств автоматизации в Р7:

Читать далее

VBA+OOP: что, когда, зачем

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели3.6K

Будучи автором серии статей о полноценной объектно-ориентированной игре "Морской бой", и вообще постоянно рассуждая об ООП в VBA, я вдруг понял, что, возможно, мне не удалось внятно объяснить, когда использование ООП в VBA действительно оправдано.

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

Не нужно становиться членом команды "Молоток!", "Отвертка!" или "Лопата!" — всё это искусственные рамки. Разные инструменты лучше всего подходят для разных задач.

Поэтому первым вопросом, который вам стоит задать себе, это…

Читать далее

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

Уровень сложностиПростой
Время на прочтение5 мин
Охват и читатели12K

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

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

Самым простым виделось сделать это, пользуясь средствами самого Excel. Для этого подходило Visual Basic для приложений (VBA) в Office.

VBA Excel и форматирование

VBScript убирают из Windows. Но почему и зачем?

Время на прочтение4 мин
Охват и читатели16K

Корпорация Microsoft сделала интересное завяление — VBScript уберут из ОС Windows. Речь, конечно, о поддержке сценариев VBScript. Почему скриптовый язык программирования потерял актуальной для корпорации? Подробности — под катом.
Читать дальше →

Типизированные массивы должны умереть

Уровень сложностиПростой
Время на прочтение5 мин
Охват и читатели5.6K

Хаха :). Не, я серьезно. Позвольте мне объяснить.

Хорошо. Что такое типизированный массив?

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

Читать далее
1
23 ...