Выполнение процесса на удаленной машине

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
SVL
Обычный пользователь
Обычный пользователь
 
Сообщения: 97
Зарегистрирован: 19.12.2002 (Чт) 11:37
Откуда: Russia

Выполнение процесса на удаленной машине

Сообщение SVL » 29.01.2004 (Чт) 19:30

Всем привет! Собственно, проблема вот в чем: Программа выполняется на метафрейм-сервере и, соответственно, использует его ресурсы. Но, т.к. требуется выполнения значительных работ в Word, Excel, AutoCad, о ресурсов метафрейм-сервера не хватает. Word, например, периодически вешается и предлагает отправить отчет в Microsoft. Я понял, что можно запустить процесс с помощью CreateObject на любой удаленной машине. Он запускается, выполняется, но видимым сделать окно того же Word невозможно. Посоветуйте, пожалуйста, что можно предпринять в этом случае?

hCORe
VB - Экстремал
VB - Экстремал
Аватара пользователя
 
Сообщения: 2332
Зарегистрирован: 22.02.2003 (Сб) 15:21
Откуда: parent directory

WordObject

Сообщение hCORe » 29.01.2004 (Чт) 19:52

Если объект MS Word'а создан, то видимым его сделает следующий код (WordObject это предварительно созданный объект):

Код: Выделить всё
'Показать MS Word
WordObject.Visible = True


Если я правильно понял, то ты хочешь сделать его видимым чтобы закрыть. Тогда тебе поможет следующий код:
Код: Выделить всё
'Закрыть MS Word и уничтожить объект
WordObject.Visible = False
WordObject.Quit
Set WordObject = Nothing


Если ты все это сделал, но Word не появляется на экране, значит такая твоя судьба :wink:
Моду создают модоки, а распространяют модозвоны.

SVL
Обычный пользователь
Обычный пользователь
 
Сообщения: 97
Зарегистрирован: 19.12.2002 (Чт) 11:37
Откуда: Russia

Сообщение SVL » 29.01.2004 (Чт) 20:01

Если объект MS Word'а создан, то видимым его сделает следующий код (WordObject это предварительно созданный объект):

Я знаю, что этот код должен сделать его видимым, но он не делается. Может, он не может стать видимым, если запущен на удаленной машине?
Если я правильно понял, то ты хочешь сделать его видимым чтобы закрыть. Тогда тебе поможет следующий код:

Нет, закрыть я его не хочу. Хочу, наоборот, чтобы он отобразился на экране и пользователь мог в нем сделать все, что ему нужно.

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 30.01.2004 (Пт) 15:37

А как ты создаешь инстанс Word'а?
Lasciate ogni speranza, voi ch'entrate.

SVL
Обычный пользователь
Обычный пользователь
 
Сообщения: 97
Зарегистрирован: 19.12.2002 (Чт) 11:37
Откуда: Russia

Сообщение SVL » 30.01.2004 (Пт) 17:17

А как ты создаешь инстанс Word'а?

Код: Выделить всё
Dim wordob as Object
Set wordob=CreateObject("Word.Application","compname")

SVL
Обычный пользователь
Обычный пользователь
 
Сообщения: 97
Зарегистрирован: 19.12.2002 (Чт) 11:37
Откуда: Russia

Сообщение SVL » 30.01.2004 (Пт) 17:59

Кстати, возникла еще одна проблема. Когда я пытаюсь открыть документ, расположенный на сервере в общей папке, следующим кодом:
Код: Выделить всё
Set wordob=CreateObject("Word.Application","remotecomp")
wordob.Documents.Open("\\myserver\myfolder\myfile.doc")
, то получаю сообщение:
RunTime Error 5273
Неверно указан путь или имя документа,
а следующий код
Код: Выделить всё
Set wordob=CreateObject("Word.Application","thiscomp")
wordob.Documents.Open("\\myserver\myfolder\myfile.doc")
срабатывает без проблем.

Sebas
Неуловимый Джо
Неуловимый Джо
Аватара пользователя
 
Сообщения: 3626
Зарегистрирован: 12.02.2002 (Вт) 17:25
Откуда: столько наглости такие вопросы задавать

Сообщение Sebas » 30.01.2004 (Пт) 18:00

Только в ДСОМ надо поставить Интерактивного юзера...

Гиморно это...
- Я никогда не понимал, почему они приходят ко мне чтобы умирать?

sebas<-@->mail.ru

SVL
Обычный пользователь
Обычный пользователь
 
Сообщения: 97
Зарегистрирован: 19.12.2002 (Чт) 11:37
Откуда: Russia

Сообщение SVL » 30.01.2004 (Пт) 18:03

Только в ДСОМ надо поставить Интерактивного юзера...

Sebas, я читал твои сообщения, ты в DCOM хорошо понимаешь. Я с ним столкнулся в первый раз. Объясни поподробнее как это сделать.

Sebas
Неуловимый Джо
Неуловимый Джо
Аватара пользователя
 
Сообщения: 3626
Зарегистрирован: 12.02.2002 (Вт) 17:25
Откуда: столько наглости такие вопросы задавать

Сообщение Sebas » 03.02.2004 (Вт) 19:25

ICQ 48121966

сформулируй в асе, это надолго, не для форума
- Я никогда не понимал, почему они приходят ко мне чтобы умирать?

sebas<-@->mail.ru

Tamahawk
Обычный пользователь
Обычный пользователь
 
Сообщения: 78
Зарегистрирован: 03.02.2004 (Вт) 22:11

Сообщение Tamahawk » 04.02.2004 (Ср) 20:29

Тогда у тя тама ошибка синтаксиса
в этой строке
Код: Выделить всё
Set wordob=CreateObject("Word.Application","remotecomp")

Tamahawk
Обычный пользователь
Обычный пользователь
 
Сообщения: 78
Зарегистрирован: 03.02.2004 (Вт) 22:11

Сообщение Tamahawk » 05.02.2004 (Чт) 9:49

А я теперь заметиль: вот тут
Код: Выделить всё
wordob.Documents.Open("\\myserver\myfolder\myfile.doc")

зачем ты повторно написал \\myserver, хватить верхнего т.е. там где CreatObject
просто путь укажи путь \myfolder\myfile.doc хватит

далжон получится :idea:


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: AhrefsBot, Yandex-бот и гости: 11

    TopList