Добрый день. Подскажите пожалуйста новичку... есть макрос на вставку картинок согласно названиям этих картинок. в основном у картинок окончание 01, но в последнее время появляются с окончанием 02 и 11. соответственно картинка с другим окончанием не вставляется в ексель. как можно в макросе прописать что бы вставлялось с изменением последних двух цифр. Заранее спасибо за помощь
Добрый день. Подскажите пожалуйста новичку... есть макрос на вставку картинок согласно названиям этих картинок. в основном у картинок окончание 01, но в последнее время появляются с окончанием 02 и 11. соответственно картинка с другим окончанием не вставляется в ексель. как можно в макросе прописать что бы вставлялось с изменением последних двух цифр. Заранее спасибо за помощьOcharovashka666
столбик с наванием в ексель создается из соединения нескольких ячеек, а окончание это номер камеры (в основном с камеры 01, но иногда она не успевает запечатлеть машину...и тогда я беру фото с камеры 02 или 11) ТЕКСТ(F7;"ГГГГММДДЧЧММСС")&A7&"_"&B7&"_"&E7&"_01". Можно ли тогда в екселе заменить окончание неопределенными знаками, если я заранее не знаю окончание у фото... или в столбике название прописать без окончания, но в макросе прописать поиск фото без последних двух цифр...??
столбик с наванием в ексель создается из соединения нескольких ячеек, а окончание это номер камеры (в основном с камеры 01, но иногда она не успевает запечатлеть машину...и тогда я беру фото с камеры 02 или 11) ТЕКСТ(F7;"ГГГГММДДЧЧММСС")&A7&"_"&B7&"_"&E7&"_01". Можно ли тогда в екселе заменить окончание неопределенными знаками, если я заранее не знаю окончание у фото... или в столбике название прописать без окончания, но в макросе прописать поиск фото без последних двух цифр...??Ocharovashka666
Ocharovashka666, Этот код не будет учитывать два последние символа в имени искомого файла Код:
[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 = 2
lrow = Cells(Rows.Count, 1).End(xlUp).Row arr = Cells(r0, 17).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) art = Left(art, Len(art) - 2) If oDic.Exists(art) Then With Cells(oDic(art), 16) 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 ' Columns(16).RowHeight = 70 End With End If fName = Dir Loop Application.ScreenUpdating = True End Sub
[/vba]
Файл не могу приложить. Не получается :-/
Проверьте пожалуйста. работает ли
Ocharovashka666, Этот код не будет учитывать два последние символа в имени искомого файла Код:
[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 = 2
lrow = Cells(Rows.Count, 1).End(xlUp).Row arr = Cells(r0, 17).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) art = Left(art, Len(art) - 2) If oDic.Exists(art) Then With Cells(oDic(art), 16) 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 ' Columns(16).RowHeight = 70 End With End If fName = Dir Loop Application.ScreenUpdating = True End Sub
к сожалению не работает((( все как и было, вставляет только те фотки которые указаны в названии... попробовала удалить последние 2 цифры в названии... ни одной фотки не вставилось((. но спасибо Вам, что не оставили меня в этой проблеме)))
к сожалению не работает((( все как и было, вставляет только те фотки которые указаны в названии... попробовала удалить последние 2 цифры в названии... ни одной фотки не вставилось((. но спасибо Вам, что не оставили меня в этой проблеме)))Ocharovashka666
ООООО Вы гений. я изменила в макросе -2 на -3 и в нахвании удалила окончание и все заработало)))))))))))))) Ура))))))) спасибо)))))))))))))))
ООООО Вы гений. я изменила в макросе -2 на -3 и в нахвании удалила окончание и все заработало)))))))))))))) Ура))))))) спасибо)))))))))))))))Ocharovashka666
Вы правы, взяла я этот макрос со страниц интернета и немного переделала под себя. я не сильна в макросах, и очень благодарна всем, кто дают возможность другим людям облегчить себе работу. как говорит мой муж, лень двигатель прогресса, а я походу очень ленивая, т.к. уже почти все отчеты переделала под формулы и макросы... теперь часы проведенные ранее за отчетами превратились в минуты))))
Вы правы, взяла я этот макрос со страниц интернета и немного переделала под себя. я не сильна в макросах, и очень благодарна всем, кто дают возможность другим людям облегчить себе работу. как говорит мой муж, лень двигатель прогресса, а я походу очень ленивая, т.к. уже почти все отчеты переделала под формулы и макросы... теперь часы проведенные ранее за отчетами превратились в минуты))))Ocharovashka666