Страницы: 1
RSS
Как макросом отрыть файл НЕ Excel., Нужно что бы макрос сработал как гиперссылка.
 
Всем здравствуйте.
Столкнулся с проблемой - нужно макросом открыть файл, в данном случае ПДФ, просто для просмотра. Записал макрорекордером:
Код
Workbooks.Open Filename:= _
        "C:\Users\Михаил\Desktop\Проба\№17-13.09.2013.pdf" 

но файл открывается в формате excel, a не .pdf...

Можно, конечно, поставить гиперссылку, но тогда возможно случайное открытие файла, что не всегда удобно.
 
Shell?
 
Юрий, а можно чуть подробнее?
..хотя б кусочек кода.
 
Посмотрел справку по Shell, попробовал такой вариант
Код
  
   Dim a
 a = Shell("C:\Users\Михаил\Desktop\Сохрнение Excel\№17-13.09.2013.pdf", 1)
не работает :(
 
Вот здесь похожая тема.
 
Ещё и ещё
 
Спасибо, а то я сам не нашел. Просмотрел несколько тем - но там и близко не мой вопрос.
 
Попробуйте
Код
    Dim pShell As Object
    Set pShell = CreateObject("Shell.Application")
    pShell.Open "d:\path\filename.pdf"
 
У меня вот так срабатывает:
Код
Shell ("C:\Program Files\Adobe\Reader 10.0\Reader\AcroRd32.exe D:\Downloads\Cook.pdf")
 
Код anvg тоже срабатывает корректно.
 
вот так работает:
 
Код
  
   Dim a, s, p
   p = ActiveWorkbook.Path
  s = "\№17-13.09.2013.pdf"
  a = """" & p & s & """"
 CreateObject("WScript.Shell").Run a

Файл ПДФ в той же папке, что и Excel, имя (s) берется из ячейки.
 
Юр, ваш код не на всех компьютерах сработает - у меня, например, нет "Adobe\Reader 10.0", у меня "Adobe\Acrobat 11.0\Acrobat.exe". А кто-то вообще альтернативные программы для пдф использует...
 
Михаил, а зачем вам знать путь к программе Acrobat.exe?
Вам же дали ссылку на пример кода, который откроет любой файл в той программе, которая назначена для этого типа файлов по-умолчанию:

Код
Sub Запускфайла() 
ПутьКФайлу = """d:\path\filename.pdf""" 
CreateObject("WScript.Shell").Run ПутьКФайлу 
End Sub
 
EducatedFool, я этим вариантом и воспользовался. Спасибо
Страницы: 1
Читают тему
Наверх