Pull to refresh
  • by relevance
  • by date
  • by rating

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

Programming *Functional Programming *Software


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

Язык программирования считается полным по Тьюрингу, если на нём можно реализовать любой возможный алгоритм. Именно эту возможность реализуют лямбды.
Total votes 25: ↑24 and ↓1 +23
Views 11K
Comments 17

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

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

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

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

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

Читать дальше →
Total votes 4: ↑1 and ↓3 -2
Views 5.6K
Comments 5

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

Visual Basic for Applications *
Sandbox

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



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




Читать дальше →
Total votes 88: ↑66 and ↓22 +44
Views 161K
Comments 37

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

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

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

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

Visual Basic for Applications *

Добрый день!

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

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

Читать дальше →
Total votes 82: ↑55 and ↓27 +28
Views 110K
Comments 36

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

Visual Basic for Applications *
image

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

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

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

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

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

Programming *Algorithms *Visual Basic for Applications *
Sandbox
Доброго времени суток, уважаемое хабрасообщество.

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

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

Однако недавно мне пришлось сильно изменить свое мнение из-за простой, казалось бы, задачи.
Читать дальше →
Total votes 49: ↑36 and ↓13 +23
Views 4.4K
Comments 31

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

Programming *Algorithms *Visual Basic for Applications *
Sandbox
Доброго времени суток.

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

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

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

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

Information Security *Visual Basic for Applications *
Sandbox
Доброго времени суток! Попытаемся обойти защиту Runpad Shell'а и получить доступ к управлению диспетчером задач, в этом злодеянии нам помогут макросы на языке VBA встроенные в линейку продуктов Microsoft Office. Теперь более подробнее рассмотрим с чем мы имеем дело.
Читать дальше →
Total votes 10: ↑6 and ↓4 +2
Views 14K
Comments 0

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

Visual Basic for Applications *
Sandbox
Tutorial
image

Предисловие


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

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

Abnormal programming *Game development *Visual Basic for Applications *


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

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

Visual Basic for Applications *
Sandbox
В этой статье я бы хотел поделиться опытом автоматизации офисной, рутинной задачи по отправке сообщений группе клиентов.
Итак, собственно, в чем вопрос: необходимо отправить электронные письма с вложением нескольким десяткам клиентам. При этом в поле получателя должен быть только один адрес, т.е. клиенты друг о друге не должны знать. Кроме того, не допускается установка дополнительного программного обеспечения, типа MaxBulk Mailer и ему подобного. В нашем распоряжении есть только Microsoft Office, а в данном конкретном случае — Microsoft Office 2013.
Читать дальше →
Total votes 14: ↑4 and ↓10 -6
Views 18K
Comments 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. Однако, разворачивать это все только для аттачментов показалось неадекватным.
Читать дальше →
Total votes 4: ↑3 and ↓1 +2
Views 8.2K
Comments 5

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

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

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

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

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

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

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

Читать дальше →
Total votes 25: ↑22 and ↓3 +19
Views 16K
Comments 4

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

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

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