Страницы: 1
RSS
Как правильно указать путь к картинке в VBA
 
Доброго времени суток.  Ситуация в следующем. Записал макрос на добавление картинок из папки в таблицу Excel. На моем компьютере все работает на ура, но стоит мне передать файл Excel с папкой где находятся картинки другому человеку что бы тот открыл у себя на компьютере этот документ и макросы начинают ругаться на неправильный путь к картинкам. Как быть?
Код
 Range("A5").Select
    ActiveSheet.Pictures.Insert( _
        "\\SRV\RedirectedFolders\Kostin\Desktop\Выгрузка Данных\ThPicture\1.469700284262E9.jpg" _
        ).Select
собственно вот код который прописан в макросе
 
Может у "другого" человека просто нет такого пути? )
 
это я понимаю. Как сделать так что бы любой мог открыть?
Может быть как то надо сохранить по другому ?  
 
Не задавайте путь абсолютно - укажите относительно книги, содержащей макрос, а папку с фото сохраняйте, например, туда же, где находится и сама книга.
 
Влад , либо я чего то не догоняю либо не работает  
 
обычно это делается так:
в папке, в которой находится книга создается доп. папка с заранее определенным именем, допустим в Вашем случае Pictures
в эту папку складываете все необходимые картинки

правилом эксплуатации системы теперь становиться наличие папки Pictures с определенным содержимым в той же папке что и файл с макросм.

в макросе:
Код
  cons pf$ = "Pictures"
  Dim PicPath$
  PicPath = ThisWorkbook.Path & Application.PathSeparator & pf & Application.PathSeparator
  ...
  ActiveSheet.Pictures.Insert(PicPath & "1.469700284262E9.jpg").Select
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Игорь Гончаренко, может я что то не так сделал но все равно выдает ошибку
 
Const
 
После исправления ошибки на другом компьютере все равно не хочет выгружать фото из папки
Вот файл как пример
 
Цитата
правилом эксплуатации системы теперь становиться наличие папки Pictures с определенным содержимым в той же папке что и файл с макросм.
на другом компьютере тоже должна быть папка Pictures с теми же файлами
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Игорь Гончаренко, Так я по почте отправляю архивом (пример того как направляется кинул выше) файл ексел и папку с фото  
 
на другом компьютере файл Тест следует загружать не из архива, а все данные выложить на диск, а потом уже загружать Тест в Excel
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
все равно не работает. Как будет возможность поэкспериментируйте с прикрепленным мной выше образцом
 
однако...

у вас в макросе
Код
    Const pf$ = "FOTO"
    Dim PicPath$
    PicPath = ThisWorkbook.Path & Application & pf & Application.PathSeparator
        ActiveSheet.Pictures.Insert( _

       "\\SRV\RedirectedFolders\Kostin\Desktop\Âûãðóçêà Äàííûõ\FOTO\
Код
1.469704678726E9.jpg" _
        ).Select
    Range("L24").Select

в моем примере PathSeparator:
Код
  cons pf$ = "Pictures"
  Dim PicPath$
  PicPath = ThisWorkbook.Path & Application.PathSeparator & pf & Application.PathSeparator
  ...
  ActiveSheet.Pictures.Insert(PicPath & "1.469700284262E9.jpg").Select

за исключением опечатки в слове cons, найдите 10 отличий, между тем что Вам предложено и тем что Вы написали
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Игорь Гончаренко, Спасибо! Заработало.  
Страницы: 1
Читают тему
Наверх