Постановка задачи
К нам обратилась компания, которая занимается продажей обложек на различные документы. В прочем это могла быть любая компания, которая ведет номенклатуру своих товаров в Excel. Проблема №1 заключалась в том, что фотографии к товарам постоянно перемещались ("съезжали") при редактировании описания товаров, изменении ширины столбцов и так далее.
Выглядело это примерно так:
Проблема №2 заключалась в том, что некоторые изображения были настолько мелкие, что с ними было не удобно работать. Хотелось, чтобы при клике на изображение оно увеличивалось,а после возвращалось в исходное состояние и при этом чтобы ничего "не съезжало".
Как мы решали проблему
Вставка новых изображений
Во первых, чтобы исключить необходимость постоянного "подгона" размеров фотографий под ячейки, мы сделали функционал по добавлению новых изображений в базу Excel.
При нажатии на кнопку открывалось диалоговое окно с выбором файла и в результате изображение добавлялось в заданную строку. При этом оно форматировалось и подстраивалось под стандартные размеры ячейки.
Увеличение размеров изображений по клику
Далее разбираемся с увеличением изображений. Задача решается путем назначения макроса, который срабатывает при клике на изображением. Макрос копирует изображение и увеличивает его размеры, при повторном клике изображение плавно уменьшается и дубликат удаляется. Выглядит это так:
Конечно качество изображений не повышается, чтобы увеличенное изображение было качественным, необходимо изначально вставлять фото с более высоким разрешением.
Прочие улучшения для организации базы фотографий
Глобальные задачи решены, теперь база стала намного функциональней, чем исходная. Можно заняться дополнительным функционалом, который мы для удобства разместили на ленте меню.
Выровнять все фото - проходит по всем изображениям и вписывает их по размерам ячеек. Таким образом, все фотографии выравниваются по размерам и не выходят за границы ячеек.
Обновить нумерацию - так как изображение может быть вставлено в середину базы, изменить нумерацию также теперь не составляет проблемы.
Обновить группировку - Изображения сортируются по размерам и в случае необходимости можно скрывать те или иные разделы. Кнопка служит чтобы исправить группировку разделов, если ее случайно нарушил оператор.
Выровнять строки - когда строки базы одинаково выровнены по высоте, то база приобретает более наглядный вид. Функционал автоматически выравнивает высоту ячеек в том случае если он был нарушен.
Вывод
Казалось бы Excel не предназначен для хранение изображений, однако вот таким способом можно организовать работу. Если вы столкнулись с подобной задачи, то свяжитесь с нами, мы будем рады помочь.