MSVS 2005. Запуск внешней программы
Может ли функция StartProcess запускать внешнюю программу, типа exe или командного фалй, в своем контексте. Или может ест более подходящая функция
Вот как это сделать.
Private Sub Command1_Click()
Dim a
a = Shell("1.exe", 1)
AppActivate a
End Sub
Всё очень просто.
По моему эта функция не может запускать ехе.
Я же запускал,только перед именем файла надо указать путь.
а мой вопрос был такой:
Цитата: Mimino
Мой исходник:
[COLOR=blue]Private Sub[/COLOR] cmdGenerator_Click()
[COLOR=yellowgreen]'Обьявляем переменные:[/COLOR]
[COLOR=blue]Dim[/COLOR] wordApp [COLOR=blue]As[/COLOR] Word.Application
[COLOR=blue]Dim[/COLOR] wordDoc [COLOR=blue]As[/COLOR] Word.Document
[COLOR=yellowgreen]'Открываем шаблон (заранее подготовленный):[/COLOR]
[COLOR=blue]Set[/COLOR] wordApp = CreateObject("Word.Application")
wordApp.Documents.Add Template:="BL2.dot"
[COLOR=blue]Set[/COLOR] wordDoc = wordApp.ActiveDocument
wordApp.Visible = [COLOR=blue]True[/COLOR]
[COLOR=yellowgreen]'Пример записи в поле для ввода (таких полей ещё много):[/COLOR]
wordDoc.Bookmarks("Agent").Select
Word.Selection.TypeText txtAgent.Text
[COLOR=yellowgreen]'Пример записи в ячейку таблици (таких тоже много):[/COLOR]
wordDoc.Tables(1).Cell(2, 1).Select
Word.Selection.TypeText txtShipper.Text
[COLOR=yellowgreen]'Очищаем переменные:[/COLOR]
[COLOR=blue]Set[/COLOR] wordApp = [COLOR=blue]Nothing [/COLOR]
[COLOR=blue]Set [/COLOR]wordDoc = [COLOR=blue]Nothing [/COLOR]
[COLOR=blue]End Sub[/COLOR]
Суть проблемы:
При первом открытии шаблона всё идет гладко - открывается, заполняется данными из приложения. Я сохраняю получившийся документ, меняю в приложении данные в полях ввода, кликаю кнопку... И ТУТ СБОЙ В ПРОГРАММЕ...
[COLOR=dimgray]Run-time error '462':[/COLOR]
[COLOR=dimgray]The removed server machine does not exist or is unavialable[/COLOR]
[COLOR=black]Не знаю как бороться, помогите пожалуйста[/COLOR]
[COLOR=blue]Private Sub[/COLOR] cmdGenerator_Click()
[COLOR=yellowgreen]'Обьявляем переменные:[/COLOR]
[COLOR=blue]Dim[/COLOR] wordApp [COLOR=blue]As[/COLOR] Word.Application
[COLOR=blue]Dim[/COLOR] wordDoc [COLOR=blue]As[/COLOR] Word.Document
[COLOR=yellowgreen]'Открываем шаблон (заранее подготовленный):[/COLOR]
[COLOR=blue]Set[/COLOR] wordApp = CreateObject("Word.Application")
wordApp.Documents.Add Template:="BL2.dot"
[COLOR=blue]Set[/COLOR] wordDoc = wordApp.ActiveDocument
wordApp.Visible = [COLOR=blue]True[/COLOR]
[COLOR=yellowgreen]'Пример записи в поле для ввода (таких полей ещё много):[/COLOR]
wordDoc.Bookmarks("Agent").Select
Word.Selection.TypeText txtAgent.Text
[COLOR=yellowgreen]'Пример записи в ячейку таблици (таких тоже много):[/COLOR]
wordDoc.Tables(1).Cell(2, 1).Select
Word.Selection.TypeText txtShipper.Text
[COLOR=yellowgreen]'Очищаем переменные:[/COLOR]
[COLOR=blue]Set[/COLOR] wordApp = [COLOR=blue]Nothing [/COLOR]
[COLOR=blue]Set [/COLOR]wordDoc = [COLOR=blue]Nothing [/COLOR]
[COLOR=blue]End Sub[/COLOR]
Суть проблемы:
При первом открытии шаблона всё идет гладко - открывается, заполняется данными из приложения. Я сохраняю получившийся документ, меняю в приложении данные в полях ввода, кликаю кнопку... И ТУТ СБОЙ В ПРОГРАММЕ...
[COLOR=dimgray]Run-time error '462':[/COLOR]
[COLOR=dimgray]The removed server machine does not exist or is unavialable[/COLOR]
[COLOR=black]Не знаю как бороться, помогите пожалуйста[/COLOR]
Теперь в начало процедуры я вставляю...
QtyClick = QtyClick + 1
If QtyClick = 2 Then
Call SaveFRM
Dim a
a = Shell("RobotTNT.exe", 1)
AppActivate a
End
End If
... и получается, что мой exe-шник вызывает сам себя и первый закрывается. Таким образом приходится нажимать два раза на кнопку, НО ЗАТО РАБОТАЕТ.
СПАСИБО!!!
Вопрос же был Может ли функция StartProcess. :)