обработка ошибок в Vb скрипте - PullRequest
0 голосов
/ 29 марта 2012

У меня есть скрипт Vb, который вызывает файл bat. Логика contan файла bat для отправки электронной почты. Я запускаю файл bat, используя objShell.run.when, когда я даю недопустимое имя почтовому серверу в файле bat.sent.But objShell.run всегда возвращает 0. Как сделать обработку исключений в этом случае. Пожалуйста, помогите

Ответы [ 3 ]

0 голосов
/ 29 марта 2012

Лучше всего будет использовать CDO для отправки электронной почты прямо из VBScript. В противном случае обработка ошибок в пакетном режиме чрезвычайно сложна, и вам придется прибегать к кодам выхода.

0 голосов
/ 21 февраля 2013

Если вы хотите отправить без установки, попробуйте второй способ. Вы должны инициализировать объекты. В этом примере я удаляю h в ссылке, потому что не могу опубликовать ссылки

CDO.MESSAGE

'Script to send an email through QTP nice one Set oMessage = CreateObject("CDO.Message")

'==This section provides the configuration information for the remote SMTP server. '==Normally you will only change the server name or IP. oMessage.Configuration.Fields.Item _ ("ttp://schemas.microsoft.com/cdo/configuration/sendusing") = 2

'Name or IP of Remote SMTP Server oMessage.Configuration.Fields.Item _ ("ttp://schemas.microsoft.com/cdo/configuration/smtpserver") =""

'Server port (typically 25) oMessage.Configuration.Fields.Item _ ("ttp://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25

oMessage.Configuration.Fields.Update oMessage.Subject = "Test Mail" oMessage.Sender = "" oMessage.To ="" 'oMessage.CC = "" 'oMessage.BCC = "" oMessage.TextBody = "Test Mail from QTP"&vbcrlf&"Regards,"&vbcrlf&"Test" oMessage.Send

Set oMessage = Nothing
0 голосов
/ 29 марта 2012

Если вы используете метод objShell.run, он запускает отдельный процесс и не заботится о текущем процессе, который вы запускаете. Я бы посмотрел на ProcessStartInfo. Я думаю, что вы можете перенаправить поток ввода / вывода / ошибки из ProcessStartInfo. Здесь и здесь некоторые ссылки об этом

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...