Автоматическая вставка картинок в excel

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

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

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

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

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

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

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

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

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

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

Так хотели?
[vba]

Код

Public Sub InsPict()
    Dim arr, fldPath$, art$, fName$, i&, r0, lrow&, oDic As Object, IShape As Shape, Zm
    Set oDic = CreateObject(«Scripting.Dictionary»)
    r0 = 4
    lrow = Cells(Rows.Count, 3).End(xlUp).Row
    arr = Cells(r0, 3).Resize(lrow — r0 + 1).Value
    For i = 1 To UBound(arr)
        oDic(arr(i, 1)) = i + r0 — 1
    Next i
    For Each IShape In ActiveSheet.Shapes
        If IShape.Type <> 8 Then IShape.Delete
    Next
    fldPath = ThisWorkbook.Path & «images»    ‘путь к папке с изображениями
    Application.ScreenUpdating = False
    fName = Dir(fldPath & «*.jpg»)
    Do While fName <> «»
        art = Split(fName, «.»)(0)
        If oDic.Exists(art) Then
            With Cells(oDic(art), 2)
                Set IShape = ActiveSheet.Shapes.AddPicture(fldPath & fName, False, True, .Left + 1, .Top + 1, -1, -1)
                Zm = WorksheetFunction.Min(.Width / IShape.Width, .Height / IShape.Height)
                IShape.Height = IShape.Height * Zm — 2
            End With
        End If
        fName = Dir
    Loop
    Application.ScreenUpdating = True
End Sub

[/vba]

 

serbius

Пользователь

Сообщений: 11
Регистрация: 01.01.1970

Доброе время суток! Покажите пожалуйста макрос или функцию с помощью которых, изменялась фотография на листе по пути указанному в ячейке!  
Пример:  
В ячейке А1 указан путь к фото D:new26SIMG3278.jpg  
а в ячейке D1 вставлена фотография и если можно с подогнаным размером 5х5  
При изменении данных пути в А1 чтобы изменялось фото на соответственное.  
Да и ещё, в ячейке А1 стоит функция ВПР, возможно это как то влияет.    
Огромное спасибо, если можна, споспешествуйте пожалуйста, очень нужно сегодня.  
Рад что страница опять открыта уже с новым дизайном.:)

 

serbius

Пользователь

Сообщений: 11
Регистрация: 01.01.1970

{quote}{login=The_Prist}{date=24.11.2009 02:28}{thema=}{post}Фотография хорошая.  
ВПР в А1 не смущает вообще.    
И знаете, лично я вообще не тороплюсь. Я и год могу подождать, пока Вы файл выложите…{/post}{/quote}  

    Прикрепил!  
Спасибо!

 

serbius

Пользователь

Сообщений: 11
Регистрация: 01.01.1970

{quote}{login=The_Prist}{date=24.11.2009 02:28}{thema=}{post}Фотография хорошая.  
ВПР в А1 не смущает вообще.    
И знаете, лично я вообще не тороплюсь. Я и год могу подождать, пока Вы файл выложите…{/post}{/quote}  

  Что — то файл не прикрепляется!…

 

serbius

Пользователь

Сообщений: 11
Регистрация: 01.01.1970

{quote}{login=EducatedFool}{date=24.11.2009 05:06}{thema=}{post}Почитайте эту тему:

http://www.programmersforum.ru/showthread.php?t=63527  

  Пример файла из той темы:

http://excelvba.ru/XL_Files/Sample__21-09-2009__12-24-33.zip

{/post}{/quote}  

    Извините что-то не то, я ж чайник, мне б по моему файлу, как у меня! Пожалуйста

 

serbius

Пользователь

Сообщений: 11
Регистрация: 01.01.1970

{quote}{login=The_Prist}{date=24.11.2009 05:01}{thema=}{post}Если хотите выложить файлик, но он, гад, не хочет выкладываться — идите и читайте правила(уделите вниманию пункту про размер выкладываемых файлов), а потом и выкладывайте.{/post}{/quote}  

  Просто Гхромом не хотел выкладываться!

 

Юрий М

Модератор

Сообщений: 60577
Регистрация: 14.09.2012

Контакты см. в профиле

А пример из раздела «Приемы» Вам не подойдёт? http://www.planetaexcel.ru/tip.php?aid=57

 

kim

Пользователь

Сообщений: 3139
Регистрация: 23.12.2012

Игорь

Кстати, Юрий, неплохо бы в тот пример дописать, как делать это в 2007 — потому как есть небольшие отличия.

 

kim

Пользователь

Сообщений: 3139
Регистрация: 23.12.2012

Игорь

Вот самоцитируюсь с другого форума:  
«1) Добавляем на ленту вкладку «Разработчик»: Главная кнопка-Параметры Excel-Основные-Основные параметры работы с Excel-Показывать вкладку «Разработчик» на ленте/Ставим галку.    
2) Размещаем наши номера от 1 до 7 к примеру в диапазоне A1:A7, а фотографии в B1:B7 на Лист1.    
3) Создаем именованную формулу: Лента-Формулы-Определенные имена-Присвоить имя    
В появившемя окошке в поле «Имя» пишем любое имя, например ZZZ, а в поле «Диапазон» пишем формулу:    
=СМЕЩ(Лист1!$B$1;ПОИСКПОЗ(Лист2!$A$1;Лист1!$A$1:$A$7;0)-1;0;1;1)    
Кстати, в этой формуле с ячейки Лист2!$A$1 выполняется выбор фотографии, Вы можете указать свою ячейку любого листа.    
4) Переходим на второй лист и далее Лента-Разработчик-Элементы управления-Вставить-Элементы ActiveX-Элемент изображение/Вставляем в любое место листа, где бы Вы хотели, чтобы отображался рисунок по выбору.    
5) После проделанной операции в строке формул появится что-то типа: =ВНЕДРИТЬ(«Forms.Image.1″;»») заменяем эту запись на: =ZZZ    
6) Теперь в зависимости от числа которое находится в ячейке A1 листа2, будет производиться выбор фотографий с листа 1.»

 

Юрий М

Модератор

Сообщений: 60577
Регистрация: 14.09.2012

Контакты см. в профиле

{quote}{login=kim}{date=25.11.2009 12:10}{thema=}{post}Кстати, Юрий, неплохо бы в тот пример дописать, как делать это в 2007 — потому как есть небольшие отличия.{/post}{/quote}  
kim, у меня нет 2007-го. А насчёт дополнить — это к Н. Павлову. Кроме того, Вы можете отписаться в том приёме в комментах. Там народ плачет, что не получается именно в 2007-ом. :-)

 

kim

Пользователь

Сообщений: 3139
Регистрация: 23.12.2012

Игорь

Ну тогда надеюсь, что Николай увидит этот пост и найдет на это время.

 

serbius

Пользователь

Сообщений: 11
Регистрация: 01.01.1970

#12

25.11.2009 02:50:29

{quote}{login=Юрий М}{date=25.11.2009 12:04}{thema=}{post}

А пример из раздела «Приемы» Вам не подойдёт? http://www.planetaexcel.ru/tip.php?aid=57

{/post}{/quote}  

    Извините не подойдёт, у меня фотографий в папке 1500 шт. и мне нужно что б макрос вытягивал на лист из той папки фотку каждый раз соответствующую пути указанному в ячейке, а не руками в столбик :) Спасибо за понимание!


Download Article


Download Article

Do you have an image or logo that you want to add to your Excel sheet to make it more visually appealing? While there is no automatic setting that will resize your image inside a cell, you can do it yourself with a few clicks. This wikiHow article will teach you how to insert pictures in Excel and size them to fit into cells.

Steps

  1. Image titled 12969546 1

    1

    Open your project in Microsoft Excel. You can do this by going to File > Open within Excel or you can right-click the project file and select Open with > Excel.

  2. Image titled 12969546 2

    2

    Insert an image. You can do this by going to Insert > Pictures > Selecting your picture > Insert.

    Advertisement

  3. Image titled 12969546 3

    3

    Resize it. When you have the image selected, you’ll see a «Size» grouping under «Format» and «Picture Tools.»

    • Change the Height and Width to adjust the size of your image. Instead, you can drag and drop the corners of the image to re-adjust the size.
  4. Image titled 12969546 4

    4

    Lock the image to the cell. By default, the image you added «floats» above your cells and doesn’t change size as your cells do. To fix this, you need to lock the image or the cell.

    • Right-click your picture and click Format Picture. Then click the «Size & Properties» tab (a symbol with a green square with arrows around it) and select Move and size with cells.
      • You can also use a VBA code after you’ve inserted some pictures. Insert the images and press Alt + F11 to open the VBA window. Click Insert > Module and paste the following code:
      • Public Sub FitPic()
        On Error GoTo NOT_SHAPE
        Dim PicWtoHRatio As Single
        Dim CellWtoHRatio As Single
        With Selection
        PicWtoHRatio = .Width / .Height
        End With
        With Selection.TopLeftCell
        CellWtoHRatio = .Width / .RowHeight
        End With
        Select Case PicWtoHRatio / CellWtoHRatio
        Case Is > 1
        With Selection
        .Width = .TopLeftCell.Width
        .Height = .Width / PicWtoHRatio
        End With
        Case Else
        With Selection
        .Height = .TopLeftCell.RowHeight
        .Width = .Height * PicWtoHRatio
        End With
        End Select
        With Selection
        .Top = .TopLeftCell.Top
        .Left = .TopLeftCell.Left
        End With
        Exit Sub
        NOT_SHAPE:
        MsgBox "Select a picture before running this macro."
        End Sub
        
    • Press F5 to run the code and repeat this process until all the images in your sheet fit into cells.
  5. Advertisement

Add New Question

  • Question

    When I resize a picture to a smaller cell and then restore it, I lose the detail. How can I avoid this?

    CJ89483

    When you resize an image to a smaller size and then restore it to its original size, the image may lose some of its detail and sharpness. To avoid this, it is best to start with the original high-resolution image and use good-quality resizing software that includes bicubic interpolation. Bicubic interpolation is a resizing method that helps preserve detail and sharpness in the image. It is also important to avoid resizing the image too much and to save a copy of the original image. By following these tips, you can help ensure that your images retain their detail and quality when resized.

Ask a Question

200 characters left

Include your email address to get a message when this question is answered.

Submit

Advertisement

Thanks for submitting a tip for review!

About This Article

Article SummaryX

1. Open your project in Microsoft Excel.
2. Insert an image.
3. Resize it.
4. Lock the image to the cell.

Did this summary help you?

Thanks to all authors for creating a page that has been read 82,831 times.

Is this article up to date?

September 17 2013, 09:25

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

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

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

Понравилась статья? Поделить с друзьями:

А вот еще интересные статьи:

  • Автоматическая вставка изображений в word
  • Автоматическая вставка даты в документ word
  • Автоматизировать расчеты в excel помогают калькулятор
  • Автоматизировать процесс решения задачи в excel
  • Автоматизировать данные в word

  • 0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии