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

Visual Basic for Applications *

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

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

Ускоряем работу VBA в Excel

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

Предисловие


Так уж сложилось, что на сегодняшний день много кому приходится работать(писать макросы) на VBA в Excel. Некоторые макросы содержат сотни строк кода, которые приходится выполнять каждый день (неделю, месяц, квартал и так далее) и, при этом, они занимают изрядное количество времени. Вроде бы и и процесс автоматизирован и человеческого вмешательства не нужно, но время, занимаемое выполнением макроса, может охватывать десятки минут, а то и несколько часов. Время, как говориться, — деньги и в этом посте я постараюсь значительно ускорить время выполнения Вашего макроса и, возможно, это положительно скажется на ваших делах, а в итоге и деньгах.
Читать дальше →
Всего голосов 37: ↑23 и ↓14+9
Комментарии9

О пользе прикладного программирования, или Почему я выбрал непопулярный Visual Basic

Время на прочтение4 мин
Количество просмотров13K
Как у программиста, благодаря стремительному падению цен на память и увеличению скорости вычислений вдвое каждые два года, у вас есть выбор. Вы можете провести шесть месяцев, переписывая циклы в Ассемблере, или провести шесть месяцев, играя на ударных в рок-группе, и в каждом из этих случаев ваша программа будут работать быстрее. У программистов на Ассемблере нет поклонниц.
Joel Spolsky


Всегда задавался вопросом — почему Basic настолько непопулярен в среде отечественных программистов, в то время, как на Западе он имеет значительное распространение. Закрадывалось подозрение, что у нас, на просторах бывшего СССР, все программисты — челябинцы, и пишут прямо на машинном коде, так что писать на таком высокоуровневом языке как Бейсик, у них не получается в силу отсутствия иных клавиш, кроме 1 и 0.

Читать дальше →
Всего голосов 36: ↑9 и ↓27-18
Комментарии19

Обход защиты Runpad Shell

Время на прочтение2 мин
Количество просмотров21K
Доброго времени суток! Попытаемся обойти защиту Runpad Shell'а и получить доступ к управлению диспетчером задач, в этом злодеянии нам помогут макросы на языке VBA встроенные в линейку продуктов Microsoft Office. Теперь более подробнее рассмотрим с чем мы имеем дело.
Читать дальше →
Всего голосов 10: ↑6 и ↓4+2
Комментарии0

Формат XXEncode на VBA, или как загрузить бинарник в документ

Время на прочтение4 мин
Количество просмотров3.7K
При работе в связке Excel+VBA бывает нужно хранить бинарные данные в контейнере, который накладывает ограничения содержимое. Для этих задач был разработан формат XXEncode. И вот, допустим, Вам захотелось иметь необходимые библиотеки и утилиты, связанные с вашим проектом VBA всегда при себе, внутри Рабочей книги .xls. Ниже я покажу, как я реализовал у себя хранение бинарных файлов в комментариях стандартных модулей проектов VBA.
Читать дальше →
Всего голосов 6: ↑3 и ↓30
Комментарии5

Истории

Поиск повторений в двумерном массиве, или правильно выбранный инструмент

Время на прочтение3 мин
Количество просмотров1.2K
Доброго времени суток.

В той или иной степени интересуюсь алгоритмами. Наткнулся на свежую статью
«Поиск повторений в двумерном массиве, или вычислительная сложность на примере» http://habrahabr.ru/post/141258/. Автор стати,Singerofthefall, довольно интересно рассказывает про решение задачи и оптимизации алгоритма. Очень интересно. Однако, по моему мнению, прежде всего необходимо было определить не алгоритм, а инструмент которым будет решаться задача. И вот инструмент был выбран неправильный, отсюда вся сложность и оптимизации.
Для решения задачи автора более всего подходили инструменты БД, соответственно и надо было их использовать.
Читать дальше →
Всего голосов 12: ↑7 и ↓5+2
Комментарии2

Поиск повторений в двумерном массиве, или вычислительная сложность на примере

Время на прочтение7 мин
Количество просмотров8.8K
Доброго времени суток, уважаемое хабрасообщество.

Когда я учился в институте на втором или третьем курсе (то есть, в общем, не так и давно), был у меня, помимо прочих, предмет под названием «алгоритмы и структуры данных». Рассказывали там, однако, не только про сами алгоритмы и структуры, но и о таком понятии, как «вычислительная сложность». Признаюсь, тогда это меня не очень заинтересовало.

«Наверняка заморачиваться с исследованием алгоритма на пространственную и временную сложность нужно только при разработке либо очень высокопроизводительных/высоконагруженных систем, либо при работе с действительно большими объемами данных», — примерно такие мысли посещали меня (да и, наверное, не только меня) тогда.

Однако недавно мне пришлось сильно изменить свое мнение из-за простой, казалось бы, задачи.
Читать дальше →
Всего голосов 49: ↑36 и ↓13+23
Комментарии31

Automation: быстрый старт или «А ну-ка, Excel, пиши за меня сам!»

Время на прочтение3 мин
Количество просмотров27K
Небольшой топик-шпаргалка для быстрого написания скриптов для автоматической обработки документов ms office'а. А так же для помощи в преодолении синдрома чистого листа.

Как правильно заметили в недавнем топике, сама работа скрипта может быть и не быстрой, но чаще важнее сам результат, да и объёмы далеко не всегда такие большие. Зато Automation позволяет написать скрипт практически на любом языке. Здесь я выдам заготовки для JavaScript и IronPython, но, надеюсь, в комментариях найдётся место и для других языков (например, на PowerShell).
Поехали
Всего голосов 8: ↑5 и ↓3+2
Комментарии4

Microsoft Word. Автоматическое исправление языка текста

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

Часто проверка орфографии и грамматики в Word не работает по причине того, что язык слов выставлен неправильно. Я сталкиваюсь с этим в документах написанных на русском языке, но содержащих большое количество IT-терминов на английском.
Читать дальше →
Всего голосов 47: ↑33 и ↓14+19
Комментарии9

Несколько советов по работе с VBA в Excel

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

Добрый день!

Некоторое время назад меня попросили «помочь с Экселем», а потом и работа подвернулась такая, так что за последние пару месяцев я узнал много полезного, чем и хочу поделиться в догонку к недавней статье.

Предполагается, что вы знаете основы Visual Basic. Я не буду рассказывать, как создавать формы или модули, здесь только примеры кода.

Читать дальше →
Всего голосов 82: ↑55 и ↓27+28
Комментарии36

MS Excel, на что способны макросы или спасибо Биллу от преподавателей

Время на прочтение4 мин
Количество просмотров14K
image
Идея использовать MS Excel в обучении возникла давно. На форумах с аналогичной тематикой по программированию VBA встречаешь упоминание что Макросы всемогущи. Так ли это?

Предупреждение
Данная статья будет бесполезна, не интересна, противна и непонятна более чем 99,9999999% жителей планеты земля включая самого Билла, а также большинство преподавателей любого учебного заведения.
Читать дальше →
Всего голосов 25: ↑8 и ↓17-9
Комментарии22

Автоматизация рутины в Microsoft Excel при помощи VBA

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

Приветствую всех.



В этом посте я расскажу, что такое VBA и как с ним работать в Microsoft Excel 2007/2010 (для более старых версий изменяется лишь интерфейс — код, скорее всего, будет таким же) для автоматизации различной рутины.




Читать дальше →
Всего голосов 88: ↑66 и ↓22+44
Комментарии37

MS Access: Утилита по выдаче данных запроса в консоль отладки

Время на прочтение3 мин
Количество просмотров5.9K
Работая с Аксесом каждый день, я несколько раз на дню сталкиваюсь с проблемой, что мне где-нибудь в VBA-коде нужно посмотреть, что же вернет мне тот или иной SQL-запрос. Для этого мне приходится переключаться из VBA-редактора в основную часть программы, и либо создавать временный запрос (который потом волей-неволей сохраняется), либо быстренько менять SQL в каком-нибудь временном запросе. Поскольку на это тратится всегда куча времени, я решил написать простую функцию, которая выдает результаты запроса в консоль отладки.

Утилита это называется q (чтобы было удобно вызывать, и намек на Query — запрос), принимает она в качестве параметров сам запрос (либо полностью в виде SQL, либо только название запроса или таблицы, главное, чтобы это можно было открыть через CurrentDB.OpenRecordset), максимальную ширину поля при выдаче (если поле больше — оно обрезается, по умолчанию — 10 символов) и максимальное количество записей (по умолчанию — 100 записей), и выдает в консоль содержимое результатов данного запроса в текстовом виде, выглядит это вот так:
Читать дальше →
Всего голосов 10: ↑8 и ↓2+6
Комментарии2