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

Visual Basic for Applications *

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

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

User Defined Type. Что это и как его использовать, часть 2

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

Итак, в первой части мы затронули применение UDT в обычном модуле, и в комментариях справедливо заметили, что UDT сильно проигрывает классам. И да, действительно, если использовать класс как DTO (Data Transfer Object), он более функционален, чем UDT.

В этой заключительной части, я хотел бы рассказать о применении UDT в классах, кто такой Mathieu Guindon и причем тут резиновая уточка.

Читать далее

Как бороться с «темами» в документе MS Visio

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

В MS Visio начиная с версии 2007 появилась возможность называемая «темы» (со слов разработчиков она предназначена «для придания схеме профессионального вида»)…

В этой статье вы узнаете как удалить «нежелательное влияние» тем в документах MS Visio.

Увидеть это полностью…

Программа для ведения архива медиафайлов в полевых условиях

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

Почему для фольклорных экспедиций нужно писать программы?

Как быть со множеством фотографий, видео и аудио, которые необходимо каталогизировать, описать и поделиться с коллегами?

Рассказываю, как мы описываем примерно 200 часов интервью за 10 дней экспедиции.

Читать далее

Неформальный Эксель: OpenGL, игры на GDI+ и инфографика теперь и в VBA

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


На Хабре уже было довольно много интересных публикаций с неформальным использованием Экселя (списочек под катом). Этой статьёй мне хочется поделиться с сообществом красивыми результатами нашего французского коллеги. Автор, Тьерри Гасперм (Thierry Gasperment), создаёт подобную красоту на VBA под Excel / Access / Word и VB6. Увы, сайт на французском, а материалы, хоть и свободны для использования, но для просмотра и скачивания зачастую требуют регистрации. По этой причине я поместил наиболее интересные примеры на свой GitHub. Для тех, кто захочет "выйти за пределы шахматной доски", советую всё же потратить пару минут своего драгоценного времени и зарегистрироваться на сайте. Оно того стоит, так как количество и качество информации на сайте Тьерри заслуживают того. Для регистрации и просмотра рекомендую Chrome: автоматический перевод Edge порождает "гуртовщиков мыши" и прочие химеры вроде "glutMouseРазумный" и "Силовая установка" (PowerPoint).


Читать дальше →

User Defined Type. Что это и как его использовать, часть 1

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

Картинка: Designed by vectorjuice / Freepik

Большинство пользователей VBA прекрасно знают такую штуку как Type, он же User Defined Type (UDT). Кто-то, как я, использует его на повседневной основе. Кто-то, возможно, о нем слышал, но не мог понять как его применить.

Лично я помню, как не так давно смотрел на этот Type и пытался понять зачем он мне нужен, ведь он просто хранит в себе переменные, которые можно с тем же успехом объявить в функции/процедуре или на уровне модуля?

В этой статье я хотел бы показать на примере как можно использовать Type. Мы разберем некоторые его особенности, и возможно кто-нибудь из читателей найдет для себя один из примеров крайне интересным (а может быть даже будет использовать в своих проектах). Поехали!

Читать далее

Как хранить Config в Excel

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

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

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

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

Читать далее

Программирование в Word: зачем, почему?

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


Картинка pch.vector, freepik

Практически каждый из читателей, наверняка не раз (а кто-то и на постоянной основе), имеет потребность в написании и редактировании документов в среде Word.

Однако если подобная деятельность производится с некоторой периодичностью, пытливый ум сразу начинает думать о способах оптимизации своего труда. Одним из таких способов является программирование в среде Visual Basic for Applications,- среде разработки, которая встроена в известные офисные продукты: Word, Excel, PowerPoint и т.д. Статья больше вводная, для тех, «кто совсем не в теме» :-).

Читать дальше →

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

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

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

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

Читать далее

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

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

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

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

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

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

Читать далее

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

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

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

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

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

И это засада.

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

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

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

Читать далее

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

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

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

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

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

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

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

Читать далее

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

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

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

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

Читать далее

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

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

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

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

Читать далее

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

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

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

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

О, да, я хочу на это посмотреть!

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

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

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

Читать далее

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

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

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

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

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

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

Читать далее

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

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

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

Читать далее