VBA Excel. Открыть файл другой программы

Открытие файла другой программы из кода VBA Excel с помощью функции ShellExecute, методов Wscript.Shell.Run и Workbook.FollowHyperlink по ассоциации с его расширением.

Функция ShellExecute

Функция ShellExecute позволяет открывать файлы других приложений из кода VBA Excel по ассоциации с их расширениями. Если файл не имеет расширения, или оно ассоциируется с «Неизвестным приложением», будет отображено диалоговое окно для ручного выбора программы, с помощью которой можно открыть этот файл:

Или не произойдет ничего.

Чтобы открыть файл другой программы с помощью функции ShellExecute, ее необходимо объявить в разделе Declarations того модуля, в котором она будет использоваться.

Разместите следующий код в раздел Declarations программного модуля:

Открывайте файлы сторонних приложений из кода VBA Excel с помощью следующей строки:

Замените адрес файла «C:\Тестовая\Справка VBA Excel.doc» на адрес своего файла, который необходимо открыть по ассоциации с его расширением.

Минус этого способа заключается в необходимости объявлять функцию ShellExecute в разделе Declarations каждого модуля, где планируется ее использование.

Метод Run объекта Wscript.Shell

Метод Wscript.Shell.Run также позволяет открывать файлы других приложений из кода VBA Excel по ассоциации с их расширениями. Но если открываемый объект не существует, будет сгенерирована ошибка.

Используйте следующий код VBA Excel, чтобы открыть файл другой программы с помощью метода Run объекта Wscript.Shell:

Если адрес будет содержать пробелы, произойдет следующая ошибка:

Чтобы избежать ошибки, необходимо использовать тройные кавычки:

Метод Workbook.FollowHyperlink

Используйте следующую строку для открытия файлов других программ по их расширению с помощью метода FollowHyperlink объекта Workbook:

Если открываемый объект не существует, будет сгенерирована ошибка, как и в случае с методом Wscript.Shell.Run.

Все представленные здесь способы открытия файлов можно использовать для открытия папок в проводнике Windows и открытия сайтов в браузере по умолчанию.


Содержание рубрики VBA Excel по тематическим разделам со ссылками на все статьи.

1 комментарий для “VBA Excel. Открыть файл другой программы”

Добавить комментарий

Ваш комментарий будет опубликован после прохождения обязательной модерации. Исходящие ссылки не допускаются. Время модерации составит от нескольких минут до нескольких часов в зависимости от времени суток и занятости модератора.