Перейти к содержимому
Наше приложение «Дешевые авиабилеты» в AppGallery >>

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

    Метод Workbook.FollowHyperlink позволяет открыть файл другой программы с помощью всего одной строки кода VBA Excel. Кроме того, при использовании этого метода не нужно экранировать кавычками полные имена файлов с пробелами.

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

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

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


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

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

    Обсуждение закрыто.