Страница: 1 |
Страница: 1 |
Вопрос: функция SHELL в OFFICE 2003
Добавлено: 14.05.05 11:44
Автор вопроса: eugene
Example из HELP
======
Dim RetVal
RetVal = Shell("C:\WINDOWS\CALC.EXE", 1)
========
Работает на машине с MS OFFICE 2000, но не работает на машине с MS OFFICE 2003.
Кто-нибудь знает возможные причины?
Ответы
Всего ответов: 3
Номер ответа: 1
Автор ответа:
Pashenko
ICQ: 176176951
Вопросов: 14
Ответов: 655
Профиль | | #1
Добавлено: 14.05.05 11:49
А вот так работает:
Dim RetVal
RetVal = Shell("CALC.EXE", 1)
Номер ответа: 2
Автор ответа:
eugene
Вопросов: 1
Ответов: 1
Профиль | | #2
Добавлено: 14.05.05 12:08
Я плохо сформулировал вопрос
Нужно запустить не CALC.EXE, a другую программу.
В SHELL прописал полный путь к ней.
====
Dim RetVal
RetVal = Shell("c:\Program Files\Autowin\Autopro.exe", 1)
====
Этот код в 2000 работает, а в 2003 нет.
Предполагаю, что дело в версии VBA. А как вызвать программу из 2003 не знаю
Номер ответа: 3
Автор ответа:
Pashenko
ICQ: 176176951
Вопросов: 14
Ответов: 655
Профиль | | #3
Добавлено: 14.05.05 12:48
Используй ShellExecute, так надёжнее.
Public 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