Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.07.2009, 15:01   #1
Iraveyron
Пользователь
 
Регистрация: 24.07.2009
Сообщений: 11
По умолчанию Выбрать и вставить картинку в Excel

Всем доброго времени суток!

У меня такая проблема. Нужно написать программу, которая будет работать при нажатии кнопки "Commandbutton".
При нажатии этой кнопки должно появляться окно (папка), в которой находятся графики и картинки в формате .jpg.
При выборе/нажатии на картинку, она атоматически вставляется в Excel. И картинка должа иметь строго ограниченные размеры (ее надо вставить в предусмотренное для нее поле).

Помогите, пожалуйста!

PS: я сама вот только кнопку сделать смогла и что дальше, даже не знаю...
Iraveyron вне форума Ответить с цитированием
Старый 24.07.2009, 15:21   #2
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

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

Цитата:
картинка должа иметь строго ограниченные размеры
Где брать эти размеры? Или сжимать картинку до размеров ячейки, в которую она будет вставляться?

И, вообще, зачем это всё надо?

=============== добавлено позже ====================

У меня на сайте есть готовая программа для вставки изображений на лист Excel:
http://excelvba.ru/programmes/PastePictures


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

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





Особенности надстройки вставки изображений:
  • загрузка изображений по ссылкам (обычная гиперссылка, просто текст ссылки - URL, формула =ГИПЕРССЫЛКА(), и т.п.)
  • поиск картинок в подпапках заданной папки (глубина поиска по подпапкам не ограничена)
  • установка выбранного пользователем размера для вставляемых изображений
  • отображение состояния поиска и вставки изображений (прогресс-бар)
  • вывод результатов обработки таблицы (сколько изображений вставлено, сколько не найдено)
  • добавление гиперссылок к вставляемым изображениям (по щелчку на картинке открывается исходный файл)
  • 2 режима поиска файлов - по точному совпадению имени файла, и по началу имени файла-изображения
  • 2 режима вставки картинок - подгонка размеров под ячейку, или соблюдение пропорций исходного изображения
  • вывод количества файлов в выбранной папке
  • возможность выбора столбца с названиями файлов, и указания номера столбца для вставляемых изображений
  • возможность вставки изображений в комментарии к ячейкам




Запуск вставки изображений выполняется из меню программы (на панели инструментов)

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

Новый функционал будет добавляться в надстройку по мере поступления ваших пожеланий.

Последний раз редактировалось EducatedFool; 06.10.2012 в 14:11.
EducatedFool вне форума Ответить с цитированием
Старый 24.07.2009, 15:38   #3
Iraveyron
Пользователь
 
Регистрация: 24.07.2009
Сообщений: 11
По умолчанию

Кнопка должна располагаться на листе Excel, картинка там же.

Для чего все это нужно:
работаю в фирме, занимающейся новыми разработками (сталестроение), тут проводятся испытания, и все отчеты сделаны в таблице Excel (к ним и относятся картинки)
На первом листе в папке форма с данными, на втором листе форма (с заголовком и данными фирмы) для вставки картинки.....
Картинка должна "покрывать" несколько ячеек.
Iraveyron вне форума Ответить с цитированием
Старый 24.07.2009, 15:52   #4
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Может, такой вариант подойдёт?

Здесь при нажатии кнопки макрос сам ищет подходящие картинки в текущей папке (и её подпапках), и выводит найденные картинки в ячейку справа:



(добавлено спустя несколько месяцев)
Вот вариант для поиска картинок в текущей папке (без просмотра подпапок)
Ограничение на 6 значащих цифр снято.
(щелкните на картинке ниже для перехода на страницу сайта с надстройкой)

===================================

У меня на сайте есть готовая программа для вставки изображений на лист Excel:
http://excelvba.ru/programmes/PastePictures


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

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


Особенности надстройки вставки изображений:
  • загрузка изображений по ссылкам (обычная гиперссылка, просто текст ссылки - URL, формула =ГИПЕРССЫЛКА(), и т.п.)
  • поиск картинок в подпапках заданной папки (глубина поиска по подпапкам не ограничена)
  • установка выбранного пользователем размера для вставляемых изображений
  • отображение состояния поиска и вставки изображений (прогресс-бар)
  • вывод результатов обработки таблицы (сколько изображений вставлено, сколько не найдено)
  • добавление гиперссылок к вставляемым изображениям (по щелчку на картинке открывается исходный файл)
  • 2 режима поиска файлов - по точному совпадению имени файла, и по началу имени файла-изображения
  • 2 режима вставки картинок - подгонка размеров под ячейку, или соблюдение пропорций исходного изображения
  • вывод количества файлов в выбранной папке
  • возможность выбора столбца с названиями файлов, и указания номера столбца для вставляемых изображений
  • возможность вставки изображений в комментарии к ячейкам


Запуск вставки изображений выполняется из меню программы (на панели инструментов)

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

Новый функционал будет добавляться в надстройку по мере поступления ваших пожеланий.

Последний раз редактировалось EducatedFool; 06.10.2012 в 15:05.
EducatedFool вне форума Ответить с цитированием
Старый 24.07.2009, 16:06   #5
Iraveyron
Пользователь
 
Регистрация: 24.07.2009
Сообщений: 11
По умолчанию

Это, конечно, тоже вариант, и очень даже красивый!

Но проблема в том, что мне на надо все картинки одновременно (а картинок в папке будет много), и мне надо именно окно для выбора картинок, потому что мне надо вставить только одну картинку и я должна сама выбрать какую...
Пример уже с вписаным названием не подойдет =(
Пример с окном для набора названия картинки, тоже не подойдет (директор так не хочет, наверно боится ошибиться при наборе)
Iraveyron вне форума Ответить с цитированием
Старый 24.07.2009, 16:18   #6
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Цитата:
мне надо именно окно для выбора картино
Это сделать недолго. Но нет желания 10 раз переделывать...

Куда вставлять картинку? В предварительно выделенные ячейки?
К примеру, Вы выделили диапазон ячеек d2:g7, нажали кнопочку, выбрали файл JPG, нажали ОК в диалоговом окне выбора файла, и рисунок вставился как раз в вылеленную область - левый верхний угол рисунка оказался в ячейке d2, а правый нижний - в ячейке g7.
Так надо?

С какой папки начинать обзор рисунков? С той, в которой находится книга Excel?
Все рисунки имеют формат JPG?
EducatedFool вне форума Ответить с цитированием
Старый 24.07.2009, 16:45   #7
Iraveyron
Пользователь
 
Регистрация: 24.07.2009
Сообщений: 11
По умолчанию

Так, становится уже лучше!

Как по кнопке вызвать окно обзора рисонков я нашла, и программа вставляет рисонок в выбранную ячейку (А5)

Private Sub CommandButton1_Click()
Dim datei As String

datei = Excel.Application.GetOpenFilename(" Bilddateien (*.jpg), *.jpg")

Range("A5").Select

Selection.Delete

ActiveSheet.Pictures.Insert(datei). Select

End Sub

Теперь вопрос, как выбрать тот самый диапазон и вставить так, чтобы верхний угол так и был в А5, а нижний в E39 (строки у меня стандартной длины, а столбцы широкие)
Iraveyron вне форума Ответить с цитированием
Старый 24.07.2009, 17:55   #8
Iraveyron
Пользователь
 
Регистрация: 24.07.2009
Сообщений: 11
По умолчанию

Все! Сделала!
Вот так хотела, чтобы было!

Private Sub CommandButton1_Click()

Dim datei As String

datei = Excel.Application.GetOpenFilename(" Bilddateien (*.jpg), *.jpg")

Range("A6").Select

Selection.Delete

ActiveSheet.Pictures.Insert(datei). Select

Selection.ShapeRange.LockAspectRati o = msoTrue

Selection.ShapeRange.Width = 691

End Sub
Iraveyron вне форума Ответить с цитированием
Старый 22.04.2010, 05:44   #9
Probohka
Новичок
Джуниор
 
Регистрация: 22.04.2010
Сообщений: 1
По умолчанию

EducatedFool,

Большущее спасибо, за Ваш пример!!! Вы, мега человечище!!!
Probohka вне форума Ответить с цитированием
Старый 15.10.2010, 16:59   #10
Roman75
Новичок
Джуниор
 
Регистрация: 15.10.2010
Сообщений: 1
По умолчанию

EducatedFool, спасибище! Я как раз тоже аналогичный скрипт искал.
Roman75 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вставить картинку в TEdit Dark Компоненты Delphi 6 30.05.2009 20:20
Как вставить картинку в richedit. blackstersl Компоненты Delphi 4 15.03.2009 13:50
Excel: Вставить картинку или Word документ Mort222 Microsoft Office Excel 6 19.02.2009 12:47
Вставить картинку в шаблон документа natasha Microsoft Office Word 1 17.08.2008 09:21
Как вставить картинку в текстовый редактор? Юля Помощь студентам 1 30.05.2007 09:42