Надстройка для вставки картинок (изображений) в Excel

Надстройка PastePictures для MS Excel: общие сведения

Предназначение программы: вставка изображений в таблицу Excel, поиск картинок в папке или в Google, экспорт картинок из таблицы в папку.

Основные функции программы:

  • вставка фото из папки (поиск по имени файла)
  • вставка картинок по ссылкам из таблицы
  • поиск изображений в гугл по данным с листа Excel
  • экспорт изображений с листа в файлы

Особенности программы

  • сжатие изображений перед вставкой (получается файл минимального размера)
  • поиск картинок в подпапках (глубина поиска по подпапкам не ограничена)
  • добавление гиперссылок к вставляемым изображениям
  • 3 варианта поиска файлов в папке (по точному совпадению имени файла и значения ячейки, или по частичному вхожению)
  • 2 режима вставки картинок - подгонка размеров под ячейку, или соблюдение пропорций исходного изображения
  • возможность вставки изображений в примечания к ячейкам
  • поиск недостающих фотографий товара в Google (в т.ч. поиск по заданным сайтам)
  • режим вставки изображений сразу в несколько столбцов
  • экспорт полноразмерных изображений (в каком виде они хранятся внутри файла Excel)

Подробнее — в разделе Справка по программе

Видеоинструкция

На видео рассказывается о работе с программой, и показан процесс её настройки:

Подробные инструкции и описание функционала также можно найти в разделе Справка по программе

Видеоинструкция по дополнительным возможностям

На видео рассказывается о возможностях поиска изображений в Google:

Подробные инструкции и описание функционала также можно найти в разделе Справка по программе

Надстройка позволяет искать в выбранной папке изображения, основываясь на содержимом ячеек таблицы Excel, и производить вставку найденных изображений в соседние ячейки (или в примечания к этим ячейкам).

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

 

Принцип работы с программой:

  1. Скачиваем файл программы (по ссылке выше), и сохраняем его куда-нибудь себе на диск. (например, на Рабочий Стол)
  2. Запускаем файл надстройки PastePictures.xla(как любой другой файл Excel - двойным щелчком)
  3. Открываем файл с названиями картинок (пример файла вы увидите при тестировании программы)
  4. На панели инструментов программы нажимаем кнопку «Настройки», выставляем нужные параметры
    • На форме настроек выбираем путь к папке, содержащей картинки (изображения)
    • Выставляем необходимые размеры для ячеек с картинками, выбираем первую ячейку на листе с именем файла
    • Указываем номер столбца, в который будут помещены изображения
    • и т.д. и т.п. - настроек там много разных, но разобраться в них совсем не сложно
  5. Нажимаем в меню «Изображения» - «Вставить картинки из папки», и через несколько секунд получаем результат.
  6. Если в исходной таблице - не имена файлов, а ссылки (URL) на картинки в интернете, то используем для запуска пункт меню «Изображения» - «Вставить картинки по ссылкам».

Как скачать и протестировать программу

Комментарии

Спасибо, очень помогло.

Здравствуйте, Илья.
Надо заменить все гиперссылки с абсолютных (содержащие полный путь к файлу) на относительные.
В этом может помочь макрос типа такого: http://excelvba.ru/code/replace_hyperlinks

В новой версии надстройки (которая появится уже скоро) будет доступна опция добавления относительных гиперссылок.

Очень полезная надстройка. Подскажите, как сделать, чтобы ссылки на рисунки сохранялись при переносе с одного компьютера на другой.

2. функцию добавили на лист объекта ("VBAProject/Microsoft Exel Objects/Sheet1")

Куда-то вы не туда вставили функцию.
Надо в стандартный модуль вставить

И ещё в макросе надо прописать обработчик ошибок (что делать, если файл с картинкой не найден),
и переделать функцию вставки, если вы используете Excel 2010 (иначе вставленные картинки не будут сохраняться с файлом Excel)

Я лишь показал вам упрощенный пример такого макроса.
Чтобы он стабильно работал во всех случаях, его надо дорабатывать.

Если самостоятельно не справитесь - оформляйте заказ на сайте, я сам всё сделаю (за денежку)

Сделали все, как вы описали:

1. изменили путь к папке с изображением и вставили макрос в модуль

2. функцию добавили на лист объекта ("VBAProject/Microsoft Exel Objects/Sheet1")

Появляется ошибка в макросе в этой строке:

ВставитьКартинку cell.Offset(1), ПутьККартинке$, True, True, True

Пожалуйста, помогите разобраться в чем проблема.

Я, конечно, не Павел, но отвечу)

Конечно, можно и в строке брать имена файлов, и в строку ниже вставлять картинки.
Переделывать эту универсальную надстройку - будет сложновато,
проще написать небольшой макрос под ваши нужды, для конкретно вашего файла.
(вам ведь наверняка не нужны все эти настройки, присутствующие в программе)

Sub ВставкаКартинокВСтроку()
    Dim cell As Range: Application.ScreenUpdating = False
 
    ' в цикле перебираем ячейки с именами файлов
    For Each cell In Range("a1:k1").Cells
        ' формируем путь к файлу изображения
        ПутьККартинке$ = "d:\pictures\" & cell & ".jpg"
        ' вставляем найденную картинку в ячейку ниже
        ВставитьКартинку cell.Offset(1), ПутьККартинке$, True, True, True
    Next cell
End Sub

Вам надо будет подкорректировать путь к папке с изображениями,
и добавить в код функцию вставки картинок из этой статьи:
http://excelvba.ru/code/PastePictures

Павел, добрый день!

Подскадите, пожалуйста, возможен ли поиск и последующая вставка картинок, не по столбцу, как реализовано на данный момент, но и по строкам.

Например,если названия файлов находятся в ячейках A1-K1 и A2-K2 и картинки необходимо вставить в таком же диапозоне.

Будем очень признательны за ответ.
Спасибо.

Здравствуйте, Павел.
Какая программа пишет, что нет элементов для отображения? Точно моя надстройка?
Вроде я такого сообщения не делал.

Может, в выбранной вами папке действительно нет файлов-изображений?

Здравствуйте у меня надстройка не видит фоток, программа пишет что нет елементов для отображения

Здравствуйте, Павел.
Это вам надо не надстройку скачать, а другой табличный редактор (вместо Excel)
Ограничение по высоте строки (409,50) встроено во все версии Excel его разработчиками - и никакая надстройка снять это ограничение не сможет.

Другое дело, что надстройка может вставить картинку любой высоты, - просто картинка по высоте не поместится в одну строку.

Добрый день, как я могу скачать надстройку где снимаются ограничения по высоте строки 409,50??? Спасибо!

Вы хотите сделать высоту ячейки больше 100 чего? пикселей, миллиметров, пунктов?

Я уже не помню, что там в коде, - но, может, я поставил это ограничение, чтобы не превысить максимальную допустимую высоту строки.

Попробуйте увеличивать высоту строки - упретесь в ограничение Excel:

максимальная высотаа строки (ячейки) в Excel

у меня в Excel эта максимальная высота составляет 546 пикселей (409,5 пунктов)

 

PS: Сейчас в надстройке некоторые размеры (ячеек, картинок, примечаний) ограничены каким-то заранее заданным диапазоном.

В ближайшее время выложу новую версию надстройки, где можно будет снять эти ограничения.

 

А как можно сделать высоту ячейки больше 100? В коде прямого ограничения не нашла...

Очень надо увеличить размер картинок.. 400 мало.. Нужно минимум 800..

да конечно все работает

Я работала с этой надстройкой в старом Excele.
А для Excel 10 подходит? Что-то не могу запустить(

Спасибо большое за надстройку.
Подскажите пожалуйста как изменить размер ячеек под картники.
100 для моих потребностей маловато.
заранее спасибо.

Здравствуйте, Владимир.
То, что вы хотите, требуется крайне редко (а возможно, кроме вас никому и в голову такое не пришло), так что не стоит ожидать наличия в интернете надстройки именно с такой функциональностью.

Сделать, конечно, такое можно (например, под заказ),
но искать готовое решение в интернете не имеет смысла - больше времени потратите.

PS: Проблема с гиперссылками решается очень просто - достаточно немного изменить надстройку, чтобы она вставляла в книгу Excel не абсолютные, а относительные гиперссылки.
Тогда вы можете отправлять книгу Excel вместе с папкой с фотографиями,
и на других компах всё будет работать как и у вас.

Не попадалась ли Вам надстройка которая вставляет фотографии из папки на разные листы Excel подписывая листы именами файлов? В этом случае снимается проблема с переносом таблицы с гиперссылками на другой носитель.

Добрый день!
Спасибо огромное за эту надстройку! Когда нашли, всем офисом прыгали от радости :)))
Единственное, что столкнулись с проблемой гиперссылок при переносе файла на другой компьютер. В бланке заказа через Вашу великолепную программу вставляю минифото товара и гипперссылку на фото высокого качества. Адрес гиперссылки получается, например, С:\Фото\Картинка1.jpg. Далее бланк заказа и папку с фото копирую на флэшки для клиентов. При открытии бланка заказов на другом компьютере гипперсылки уже не работают. Возможно ли это как-то исправить?

Еще раз спасибо!

Здравствуйте, Игорь.
Всё возможно - но проще сделать новую программу на базе этой надстройки, чем вносить в неё подобные опции.
Ну и непонятно, как найти 4 картинки по одному номеру.
И что делать, если найдутся всего 2 подходящие картинки, или, наоборот, штук 6-10?

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

Здравствуйте. Прекрасная программа.

А возможна ли вставка картинок не рядом с запрашиваемым номером а например в строчку по 4 штуки. т.е колонка номеров товара колонка цен, ну это как у вас, а правее вставляются картинки в ряд по 4, потом ниже через строку еще 4 и т.д.?

хорошая вещь! единственное, неправильно работает в случае с автофильтром - происходит наложение картинок. как-то можно "вылечить"?

Спасибо, очень помогли!

Надстройку для извлечения картинок из файла Excel я пока не делал.
Если надо - постараюсь сделать в ближайшее время.
(если хотите ускорить процесс - можете оформить заказ)

По Apple Mac и Office 2011 подсказать ничего не могу - увы, ни разу не приходилось пользоваться МАКом.
Макрос при желании можно вызвать и без горячей клавиши, но вот будет ли он вообще работать на МАКе - не уверен.
(там операционная система совсем другая, а макрос использует вызовы некоторых объектов, относящихся к ОС Windows)

Добрый день. Спасибо за вашу помощь людям! У меня проблемма обратная, относительно решенной вами - мне нужно вытащить из таблицы картинки и сохранить отдельными графическими файлами. Т.е.- есть чужой прайс с картинками и этот прайс частично используется для формирования моего прайса, но вот как использовать картинки не в ручную?(((

Добрый день! Большое-пребольшое спасибо за эту полезную программку!
Компания на этой неделе с ПК перешла на Мак. Все красиво, конечно, но теперь майкрософтовский офис 2011 стоит, да и сочетания клавиш другие. Подскажите, как быть? Заранее спасибо!

Прикрепил к статье новую версию надстройки.

Теперь можно указать количество ячеек по вертикали, в которых будет размещено изображение,
Кроме того, вставляемые картинки выравниваются по левому краю ячеек

Олег, отправьте мне на почту исходный файл (выгружаемый из 1С), и пример того, что должно получиться в результате (достаточно 2-3 заполненных строк с картинками)

Наверняка всё можно сделать проще, без объединения ячеек.

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

Все действия я делаю в 1с, картинки нужны для каталога, или заявки(иногда надо). Для вывода на бумагу,если все делать в одну строку , либо фото маленькие, либо пустые места где названия(Товар автозапчасти, есть что написать). Объединяю 3 строки (ячейки)и один столбец. Если фото как комментарии для электронного документа, проблем нет. Данные (имена файлов) присутствуют не в каждой строке, а только в одной, средней.Если потом вручную сдвинуть строки, то все нормально. Но 6000 фотографий в ручную. И изменения довольно часто происходят. Утомительно. Готов потратить некоторую сумму.
Олег.

Отправить комментарий

Содержание этого поля является приватным и не предназначено к показу.
CAPTCHA
Подтвердите, пожалуйста, что вы - человек:
   ___                 __  __   _____   _ 
/ _ \ ____ _ __ | \/ | | ___| (_)
| | | | |_ / | '__| | |\/| | | |_ | |
| |_| | / / | | | | | | | _| | |
\__\_\ /___| |_| |_| |_| |_| |_|
Введите код, изображенный в стиле ASCII-арт.