Pull to refresh
23
1.2

Музыкант

Send message

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

Level of difficultyEasy
Reading time4 min
Views3.5K

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

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

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

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

Читать далее
Total votes 7: ↑4 and ↓3+3
Comments7

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

Level of difficultyEasy
Reading time5 min
Views4.6K

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

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

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

Читать далее
Total votes 6: ↑6 and ↓0+7
Comments14

VBA макросы. От бессмыслицы к осмысленному. Интерфейс

Level of difficultyMedium
Reading time9 min
Views7.6K

В первой части, через боль и страдания, мы написала ядро – основную логику макроса.
Сегодня поработаем над пользовательским интерфейсом.

Читать далее
Total votes 16: ↑15 and ↓1+17
Comments8

VBA макросы. От бессмыслицы к осмысленному. Ядро

Level of difficultyMedium
Reading time18 min
Views9.3K

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

Всех приветствую! Наливайте чай, нарезайте бутеры, потому что вас ждет длинное, нудное чтиво, с большим количеством кода.

Чтиво про рефакторинг VBA кода.

Читать далее
Total votes 18: ↑17 and ↓1+21
Comments20

ChatGPT не умеет писать макросы

Level of difficultyEasy
Reading time9 min
Views9.9K

Ты попался на кликбейт, олуу... ну нет, на самом деле не совсем.

Итак, все вы знаете (а если не знаете, то пора выбираться из вакуума в котором вы находитесь) про такую нейросеть как ChatGPT. Мне все никак не удавалось попробовать его поюзать в связи с некоторыми сложностями доступа, и вот вчера наконец повезло. Ну и естественно я начал проверять его знания VBA?

Читать далее
Total votes 6: ↑2 and ↓4-2
Comments18

Как в VBA правильно создавать одномерный массив. ArrayList

Level of difficultyEasy
Reading time5 min
Views8K

Когда я впервые встретил этот класс, подумал «Зачем? Ведь есть простые массивы». А потом попробовал и не представляю как жил без него раньше.

Читать далее
Total votes 11: ↑10 and ↓1+11
Comments25

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

Level of difficultyEasy
Reading time3 min
Views1.5K

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

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

Читать далее
Total votes 1: ↑1 and ↓0+1
Comments0

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

Level of difficultyEasy
Reading time8 min
Views4.1K

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

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

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

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

Читать далее
Total votes 3: ↑2 and ↓1+1
Comments8

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

Level of difficultyMedium
Reading time8 min
Views5.6K

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

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

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

Читать далее
Total votes 18: ↑17 and ↓1+18
Comments30

Information

Rating
1,341-st
Registered
Activity

Specialization

Application Developer
Middle
Git
Python
Docker
PowerShell
Visual Basic for Applications