На Хабре уже было довольно много интересных публикаций с неформальным использованием Экселя (списочек под катом). Этой статьёй мне хочется поделиться с сообществом красивыми результатами нашего французского коллеги. Автор, Тьерри Гасперм (Thierry Gasperment), создаёт подобную красоту на VBA под Excel / Access / Word и VB6. Увы, сайт на французском, а материалы, хоть и свободны для использования, но для просмотра и скачивания зачастую требуют регистрации. По этой причине я поместил наиболее интересные примеры на свой GitHub. Для тех, кто захочет "выйти за пределы шахматной доски", советую всё же потратить пару минут своего драгоценного времени и зарегистрироваться на сайте. Оно того стоит, так как количество и качество информации на сайте Тьерри заслуживают того. Для регистрации и просмотра рекомендую Chrome: автоматический перевод Edge порождает "гуртовщиков мыши" и прочие химеры вроде "glutMouseРазумный" и "Силовая установка" (PowerPoint).
Внимание, трафик! 4.5 Мб картинок!
Как создавать спирографы в Excel
ExcelArt – изометрия «на халяву». Рисуем псевдообъемный телефон без 3D и Фотошопа
Рисунки в MS Excel при помощи Apache POI
Японский старик создает удивительные картины с помощью Excel (Подождите, Excel?)
Шикарные рисунки в Microsoft Excel
"… и в каждой шутке есть доля шутки"
Завершился чемпионат мира по Excel
Assembler в 30 строк на Excel
Машинное обучение в Excel при помощи Python и PyXLL
Управление Arduino с помощью Excel
Расширяем возможности MS Excel 2010 c помощью R
Формирование диаграммы телефонных звонков в SVG формате при помощи Excel
Подключаем к Экселю GPU и ускоряем Эксель в 300 раз (Ну а почему бы не попиариться и мне? Статья про запуск OpenCL из VBA.)
3D-движок, написанный на формулах MS Excel (картинки к сожалению битые)
Трехмерный движок на формулах Excel для чайников
Microsoft Excel: революционный игровой 3D-движок? (картинки к сожалению частично битые)
Если что-то упустил, напишите в комментариях и я дополню список.
OpenGL
[Оригинал, авторизация не нужна]
По приведённой выше ссылке содержится десяток уроков использования OpenGL в VBA. В 11 уроке все примеры собраны вместе:
- [Пакет модулей VB для OpenGL (оф. сайт, нужна регистрация)]
[GitHub] - [Библиотека FreeGLUT (оф. сайт, нужна регистрация)]
[GitHub] - [Демо с использованием FreeGlut (оф. сайт, нужна регистрация)]
[GitHub] - [Демо без использования FreeGlut (оф. сайт, нужна регистрация)]
[GitHub]
В обеих демках стрелочками можно изменить направление вращения.
И, чтобы не быть голословным, приведу пример, как оно выглядит на моём компьютере:
GDI+ и игры
Чтобы подключить GDI+ к Экселю, Тьери выложил целых два описания: тут (регистрация не нужна) и тут (тоже без регистрации).
Ну а теперь игры! Игры классические, в описании не нуждающиеся. Единственное замечание — путь к игре не должен содержать кириллицы (по крайней мере на моём нерусском Экселе игры отказывались запускаться именно по этой причине).
Стрельба по уткам (французский Moorhuhn, Tir au coincoin)
[GitHub], [Оригинал, нужна авторизация]
Аналог Moorhuhnа в описании не нуждается.
Арканоид (casse-brique)
[GitHub], [оф. сайт, нужна авторизация]
Управление мышью. Стрельба пробелом.
Jeu de tir (Стрелялка типа Xenon)
[GitHub], [оф. сайт, нужна авторизация]
Управление стрелками. Стрельба — контролом. Для второго игрока управление джойстиком. Примечание: в коде класса "clGame" содержится ошибка. В процедуре "RunGame": необходимо заменить "config" на "data/config" (на GitHub лежит уже исправленный вариант).
Jeu de tir (Space invaders)
[GitHub], [оф. сайт, нужна авторизация]
Управление стрелками. Стрельба — пробелом.
Пакман
Для игры "Пакман" Тьери сделал отдельное пошаговое описание (ссылка, авторизация не нужна).
Для тех же, кто хочет сразу вспомнить классику, есть и ссылочка: [GitHub], [оф. сайт, нужна авторизация]
Управление стрелками.
Работа с картами
Карта Франции с департаментами
Для инфографики очень полезно иметь карту, на которой удобно показывать всякую статистику. Посмотрим, как же генерируется такая карта. Пошаговое описание процедуры рисования карты Франции с департаментами содержится находится по следующей ссылке: оф. сайт, авторизация не нужна. В основе карты лежат пути (контуры), представленные в колонке "A". Самым лёгким путём создания путей является их копирование из SVG файла. Для быстрого извлечения путей из SVG файла автором была написана функция "ImportSVG", копирующая пути из прилагаемого файла "Départements_et_régions_de_France.svg". SVG файл при этом должен лежать в той же папке, что и таблица. Перед запуском необходимо удалить из таблицы картинку карты. Предварительно удалённую карту также можно перерисовать запуском функции "CreateShapes", использующую только пути из колонки "A".
Таблица с примером может быть скачана отсюда: [GitHub], [оф. сайт, нужна авторизация].
Эксель файл с примером карты Франции был создан в 2009 году, а потому, лионская метрополия, выделенная в отдельную административную единицу, на карте не представлена.
На карте представлены только европейские департаменты Франции. Заморские департаменты не показаны:
- 971 Гваделупа
- 972 Мартиника
- 973 Французская Гвиана
- 974 Реюньон
- 976 Майотта (Честно говоря, впервые о таком слышу. Живёт там кто-нибудь из хабражителей? Было бы интересно почитать о жизни там, да и вообще о жизни во французских заморских департаментах).
Такая вот познавательная получилась табличка.
Интерактивная инфографика
[GitHub], [оф. сайт, нужна авторизация]
Простейший случай интерактивной инфографики закрашивает в зелёный цвет департаменты, в которых показатели 2009 года были выше показателей 2008 года. В противном случае, департамент закрашивается красным. Обновление происходит автоматически, так что использование кнопки обновления, в общем-то, излишне.
Игра в департаменты
[GitHub], [оф. сайт, нужна авторизация]
Ну и напоследок "Игра в департаменты". Цель игры — кликнуть правильный департамент (указан в ячейке "C2") на карте. Если не угадали, кликнутый неправильный департамент отобразится в ячейке "C3". Текущий счёт выводится ячейку "C4". Для среднего россиянина (то есть меня), игра проходится только с помощью Википедии.
v1000
такими темпами надо будет не только драйвера для видеокарты обновлять, но и для Excel.
Krasnoarmeec Автор
Не будьте таким привередливым :-)
Эксель, даже просто "из коробки", может творить чудеса (в зависимости от фантазии и прямоты рук конечно).
Ну а свежие драйвера - в нашем деле никогда не помешают.