Открыть список
Как стать автором
Обновить
  • по релевантности
  • по времени
  • по рейтингу

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

ПрограммированиеФункциональное программированиеСофт


Microsoft теперь называет электронные таблицы Excel языком программирования, а с добавлением лямбд он стал полным по Тьюрингу.

Язык программирования считается полным по Тьюрингу, если на нём можно реализовать любой возможный алгоритм. Именно эту возможность реализуют лямбды.
Читать дальше →
Всего голосов 25: ↑24 и ↓1 +23
Просмотры10.3K
Комментарии 17

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

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

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

Автоматический переводчик документов для Microsoft Word

Чулан
Если вам приходится сталкиваться с документами Word, написанными на непонятных языках — вот средство, способное перевести их на понятный вам язык с сохранением форматирования. Реализация на основе Google Translate.

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

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

Visual Basic for Applications
Из песочницы

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



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




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

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

Visual Basic for Applications
Из песочницы
image
Идея использовать MS Excel в обучении возникла давно. На форумах с аналогичной тематикой по программированию VBA встречаешь упоминание что Макросы всемогущи. Так ли это?

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

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

Visual Basic for Applications

Добрый день!

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

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

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

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

Visual Basic for Applications
image

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

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

Visual Basic for Applications
Небольшой топик-шпаргалка для быстрого написания скриптов для автоматической обработки документов ms office'а. А так же для помощи в преодолении синдрома чистого листа.

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

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

ПрограммированиеАлгоритмыVisual Basic for Applications
Из песочницы
Доброго времени суток, уважаемое хабрасообщество.

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

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

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

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

ПрограммированиеАлгоритмыVisual Basic for Applications
Из песочницы
Доброго времени суток.

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

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

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

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

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

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

Visual Basic for Applications
Из песочницы
Tutorial
image

Предисловие


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

RPG-игра в рабочей книге Excel

Ненормальное программированиеРазработка игрVisual Basic for Applications


Бухгалтер из Торонто по имени Кэри Уолкин (Cary Walkin) никогда не занимался разработкой компьютерных игр, но в совершенстве освоил Excel. Этого оказалось достаточно для создания RPG-игры, которая работает на макросах VBA, встроенного языка программирования Excel.
Читать дальше →
Всего голосов 133: ↑125 и ↓8 +117
Просмотры185.3K
Комментарии 58

Автоматизация работы Microsoft Outlook с помощью VBA на примере создания массовой рассылки писем

Visual Basic for Applications
Из песочницы
В этой статье я бы хотел поделиться опытом автоматизации офисной, рутинной задачи по отправке сообщений группе клиентов.
Итак, собственно, в чем вопрос: необходимо отправить электронные письма с вложением нескольким десяткам клиентам. При этом в поле получателя должен быть только один адрес, т.е. клиенты друг о друге не должны знать. Кроме того, не допускается установка дополнительного программного обеспечения, типа MaxBulk Mailer и ему подобного. В нашем распоряжении есть только Microsoft Office, а в данном конкретном случае — Microsoft Office 2013.
Читать дальше →
Всего голосов 14: ↑4 и ↓10 -6
Просмотры16K
Комментарии 16

Отправка больших файлов в Microsoft Outlook 2010 с помощью VBA и PHP

Visual Basic for Applications
Хочу поделиться способом решения проблемы с отправкой больших файлов в Microsoft Outlook 2010 (я думаю с 2013 прокатит тоже).
Итак, исходные условия:
— MS Exchange Server 2010 — inhouse — админ доступа нет — автор просто пользователь
— Ограничения на общий объем писем 10Мб
— Есть пара Linux web-серверов в своем DMZ и админ доступ к корпоративному интранету
Надо:
— Организовать удобный механизм передачи больших файлов (очень больших)
— Не использовать сторонних провайдеров для хранения информации

Первой мыслью было использования сервисов типа dropbox, точнее их self-hosted аналогов типа ownCloud. Однако, разворачивать это все только для аттачментов показалось неадекватным.
Читать дальше →
Всего голосов 4: ↑3 и ↓1 +2
Просмотры8.2K
Комментарии 5

Быстрая генерация массивов случайных чисел для задач имитационного моделирования, статистического оценивания и создания повторной выборки

Высокая производительностьПараллельное программирование
Tutorial
Имитационное моделирование с использованием методов Монте-Карло в наше время используется практически во всех областях операционной деятельности, где требуется многократное принятие решений по итогам анализа поступающих из внешнего мира данных. При этом важную роль начинает играть качество, производительность и доступность генераторов случайных чисел, использующихся для придания абстрактному методу черт реальной задачи, решаемой специалистом. Как я недавно выяснил, этот вопрос начинает играть решающее значение при переходе к параллельному программированию… Вы тоже столкнулись с этой проблемой, и хотите знать, как в Windows можно быстро получить массивы случайных чисел с нужным распределением?
Читать дальше →
Всего голосов 20: ↑18 и ↓2 +16
Просмотры14.6K
Комментарии 2

Обновляемый многопользовательский макрос

Visual Basic for Applications
Из песочницы
Я не умею программировать, но очень люблю!
Немного измененная цитата художника Васи Ложкина.
Статьей хочу поделиться опытом поднятия многопользовательской системы на VBA Excel.
На момент принятия решения о создании гибкого приложения, было порядка 7 макросов, работающих по большим объемам (несколько файлов от 20 тыс. строк до 370 тыс. строк), весящих от 50 килобайт до 12 мегабайт, каждый из которых был написан в соответствии со знаниями существующими на момент написания. Каждый макрос изменялся, дописывался, исправлялся в части ошибок, а учитывая, что этими макросами пользовались более 60 человек, не все из которых отслеживали изменения, постоянно дергали меня показывая очередную ошибку, которую я уже исправил и выслал на всех. Объяснять толпе народу как правильно пользоваться макросами, я бросил сразу, так как кто то не услышит, кто то не поймет о чем речь, кто-то возьмет уже отформатированную таблицу в работу с макросами, а я не могу предугадать кто и как изменяет таблицы.

Необходимо было сделать один код, а не 60 копий каждого изменения, высланного по почте.
Читать дальше →
Всего голосов 17: ↑16 и ↓1 +15
Просмотры6.3K
Комментарии 0

Расширяем возможности MS Excel 2010 c помощью R

ПрограммированиеRVisual Basic for Applications
Добрый день, уважаемые читатели.
Сегодня я хочу показать как можно связать возможности языка R и офисного пакета MS Excel 2010. Ниже я расскажу о том, как можно расширить функционал встроенного языка VBA с помощью функций R, а поможет мне в этом надстройка RExcel. Инструкцию по его установке можно без проблем найти в сети или на офф. сайте.

Читать дальше →
Всего голосов 25: ↑22 и ↓3 +19
Просмотры15.6K
Комментарии 4

Интеграция MS Excel и Python

PythonVisual Basic for Applications
Добрый день, уважаемые читатели.

В сегодняшней статье я хотел бы, как можно подробнее, рассмотреть интеграцию приложений Python и MS Excel. Данные вопрос может возникнуть, например, при создании какой-либо системы онлайн отчетности, которая должна выгружать результаты в общепринятый формат ну или какие-либо другие задачи. Также в статье я покажу и обратную интеграцию, т.е. как использовать функцию написанную на python в Excel, что также может быть полезно для автоматизации отчетов.
Читать дальше →
Всего голосов 37: ↑35 и ↓2 +33
Просмотры268.8K
Комментарии 8