Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 21.05.2009, 13:23   #1
kovalevskivf
Пользователь
 
Регистрация: 28.04.2009
Сообщений: 26
По умолчанию Запуск какой либо Windows-программы из Excel средствами VBA

Подскажите пожалуйста, каким образом можно запустить из программы на VBA Excel какой-нибудь файл, например файл справки chm, или exe-файл, в ответ на какое-либо событие, например нажитие кнопки.
kovalevskivf вне форума Ответить с цитированием
Старый 21.05.2009, 13:44   #2
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Для запуска как exe-файла, так и файла, ассоциированного с приложением, например, chm-файла, лучше использовать API-функцию ShellExecute.
Пример использования:
Код:
Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, _
ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
Sub OpenApp()
    URL = "D:\Temp\VB Help.chm"
    ShellExecute 0&, vbNullString, URL, vbNullString, vbNullString, vbNormalFocus
End Sub
Есть и другие способы.
Чем шире угол зрения, тем он тупее.
SAS888 вне форума Ответить с цитированием
Старый 21.05.2009, 14:07   #3
kovalevskivf
Пользователь
 
Регистрация: 28.04.2009
Сообщений: 26
По умолчанию

Огромное Вам спасибо за помощь!
kovalevskivf вне форума Ответить с цитированием
Старый 21.05.2009, 15:14   #4
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Ну или так:
Код:
Sub test()
    ПутьКФайлу = "C:\Documents and Settings\Игорь\Рабочий стол\4511_185_158.jpg"
    
    If Dir(ПутьКФайлу) = "" Then MsgBox "Файл  " & ИмяФайла & "  не найден", vbExclamation, "Файл не найден": Exit Sub
    ПутьКФайлу = Chr(34) & ПутьКФайлу & Chr(34)    ' добавляем кавычки до и после пути к файлу (если имя содержит пробелы)
    
    CreateObject("WScript.Shell").Run ПутьКФайлу    ' аналогично двойному щелчку мыши на файле
End Sub

Последний раз редактировалось EducatedFool; 12.06.2009 в 13:31.
EducatedFool вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Задача на Vba либо C++ либо Паскале Fraerrrrr Помощь студентам 3 27.05.2009 15:30
Как запретить запуск программы на VBA Excel 2003 в Excel 2007 kovalevskivf Microsoft Office Excel 2 15.05.2009 16:47
Как средствами VBA экспортировать данные из Excel в Word? Pavel_Ine Microsoft Office Excel 3 20.04.2009 14:14
Ошибка и падение (выход) Excel при выполнении сложной программы на VBA Serge_Bliznykov Microsoft Office Excel 6 13.08.2008 16:50
запуск программы после загрузки Windows matus Windows 3 25.04.2008 11:16