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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 18.10.2010, 15:41   #11
velis83
Пользователь
 
Аватар для velis83
 
Регистрация: 13.10.2010
Сообщений: 11
По умолчанию

Есть немного видоизмененная задача, поиск имен для картинок необходимо осуществить в первых шести колонках, и вставить картинку в 9-ю колонку.
Если картинок на одну ячейку приходится больше одной, то вставлять любую.
Вложения
Тип файла: zip Вставка изображения.zip (207.8 Кб, 55 просмотров)
velis83 вне форума Ответить с цитированием
Старый 02.11.2010, 15:53   #12
AleksandraRobota
Пользователь
 
Аватар для AleksandraRobota
 
Регистрация: 02.11.2010
Сообщений: 10
По умолчанию

Это просто грустно...сперва так понравился макрос, который вставляет картинки по именам, а потом после его работы узнаю что вместо картинки с именем 1 (как в списке названий картинок) он тупо выбирает из папки картинку с именем 169. почему не находит точного соответствия??
AleksandraRobota вне форума Ответить с цитированием
Старый 02.11.2010, 16:44   #13
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Цитата:
почему не находит точного соответствия?
Так задумано) но это несложно исправить.

Найдите в макросе строку
FilePath = Dir(ПутьКПапкеСКартинками & cell & "*")
Именно эта строка отвечает за поиск файла по маске имени.

Замените её на это
FilePath = Dir(ПутьКПапкеСКартинками & cell & ".jpg")
тогда для ячейки 123 будет искаться только файл 123.jpg

Если замените её на это
FilePath = Dir(ПутьКПапкеСКартинками & cell & ".*")
тогда для ячейки 123 будет искаться файл с названием 123 (файл 12345 не будет найден) с любым расширением - 123.jpg, 123.bmp и т.д.
EducatedFool вне форума Ответить с цитированием
Старый 02.11.2010, 18:33   #14
AleksandraRobota
Пользователь
 
Аватар для AleksandraRobota
 
Регистрация: 02.11.2010
Сообщений: 10
Хорошо

Ура, спасибо! Отлично работает
AleksandraRobota вне форума Ответить с цитированием
Старый 03.11.2010, 12:09   #15
AleksandraRobota
Пользователь
 
Аватар для AleksandraRobota
 
Регистрация: 02.11.2010
Сообщений: 10
По умолчанию

подскажите, а возможно ли сделать так чтобы когда ставится фильтр на названия фотографий, можно было вставлять фото только по этому отфильтрованному списку.
у меня фотоотчет по сети супермаркетов по Украине. Когда выбираю магазины какого то региона чтобы только их анализировать, к сожалению показывает фото и всех скрытых регионов
AleksandraRobota вне форума Ответить с цитированием
Старый 03.11.2010, 12:37   #16
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Цитата:
подскажите, а возможно ли сделать так чтобы когда ставится фильтр на названия фотографий
возможно.
вообще всё возможно - если при формулировке задачи не экономить слова...

в вашем случае - с фильтрами - я ничем вам помочь не могу.
поскольку в исходной задаче про фильтр не было ни слова,
а что вы там фильтруете в своём файле, я представления не имею.
EducatedFool вне форума Ответить с цитированием
Старый 03.11.2010, 19:01   #17
AleksandraRobota
Пользователь
 
Аватар для AleksandraRobota
 
Регистрация: 02.11.2010
Сообщений: 10
По умолчанию

Оказалось вставлять фото только по видимым ячейкам (после фильтрации) очень легко. Кому пригодится это делается так

Dim Cell As Range, ra As Range: Application.ScreenUpdating = False
Dim c As Long
c = 10 'Номер столбца в котором записаны имена фотографий
Set ra = Range(Cells(1, c), Cells(Rows.Count, c).End(xlUp)).SpecialCells(xlCellTy peVisible)
AleksandraRobota вне форума Ответить с цитированием
Старый 03.11.2010, 19:47   #18
AleksandraRobota
Пользователь
 
Аватар для AleksandraRobota
 
Регистрация: 02.11.2010
Сообщений: 10
По умолчанию

не пойму из-за чего глюк происходит: когда вставляю макросом более 100 фотографий (всего у меня по списку 420 супермаркетов, без фильтра), то где-то на 25 фотка начинает смещение от границ ячейки, помаленьку фотки ползут вверх. и в конце они уже где-то на половину только в ячейке, а наполовину вылезшие. И это выглядит отвратительно...
Изображения
Тип файла: jpg Безымянный.jpg (523.2 Кб, 141 просмотров)
AleksandraRobota вне форума Ответить с цитированием
Старый 03.11.2010, 20:55   #19
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Цитата:
не пойму из-за чего глюк происходит
из-за Excel2007
Если бы вы использовали Excel2003 - такой проблемы бы не было.

Как избавиться от проблемы в Excel2007 - не знаю
(там положение картинки зависит от того, отображаются ли границы ячеек)

Делал так - в некоторых случаях помогает:
Код:
Function ВставитьКартинку(ByRef cell As Range, ByVal pic As String) As Picture
    ' если картинка вставлена успешно, возвращает TRUE
    On Error Resume Next: Err.Clear
    Dim ph As Picture: Set ph = cell.Parent.Pictures.Insert(pic)
    Set ВставитьКартинку = ph
    ph.Placement = xlMoveAndSize
    ph.ShapeRange.LockAspectRatio = msoFalse
    ph.Top = cell.Top - CLng(Val(Application.Version) = 12) * 0.1 * cell.Row
    ph.Left = cell.Left
    '    k = ph.Width / ph.Height
    '    ph.Width = cell.Width: ph.Height = ph.Width / k
    ph.Width = cell.Width: ph.Height = cell.Height

    'cell.EntireRow.RowHeight = ph.Height
    'If (Val(Application.Version) = 12) Then cell.Borders.LineStyle = xlNone
End Function
PS: Если кто знает, как решить эту проблему в Excel2007 и более поздних версиях (чтобы картинки вставлялись без сдвига) - подскажите, пожалуйста.
EducatedFool вне форума Ответить с цитированием
Старый 04.11.2010, 16:12   #20
AleksandraRobota
Пользователь
 
Аватар для AleksandraRobota
 
Регистрация: 02.11.2010
Сообщений: 10
По умолчанию

как можно сделать чтобы выделять диапазон в столбце и на эту высоту вставлялось фото?

Последний раз редактировалось AleksandraRobota; 04.11.2010 в 16:17. Причина: не умею цитировать
AleksandraRobota вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 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