Гость
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Транспорту не удалось связаться с сервером. / 4 сообщений из 4, страница 1 из 1
22.07.2016, 06:21
    #39278312
Im_Max
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Транспорту не удалось связаться с сервером.
Здравствуйте.
Каждый день на компьютере формируется отчетность и далее рассылается по почте. Все выполняется через VBA модуль в Access.
С недавних пор стал часто падать почтовый сервер. Что вызывало ошибку и дальнейшую остановку макроса Access.
Ошибка возникает примерно в 07:00. А человек который чинит сервер приходит в 09:00. Скрин ошибки во вложении.
Вопрос: можно ли доработать код ВБА модуля так что бы он проверял работоспособность сервера, и если он лежит, то запрашивал его работоспособность предположим каждые 10 мин? И если работа восстановлена, то дальше продолжалась отработка макроса?
Текущий модуль рассылки (код писал не я, сам очень плохо дружу с ВБА):
[SRC vba][/SRC]
...
Рейтинг: 0 / 0
22.07.2016, 06:45
    #39278313
Im_Max
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Транспорту не удалось связаться с сервером.
Забыл добавить код и ошибку

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
Public Function sendEmailSF(emailTo As String, emailSubject As String, emailBody As String, file As String, Optional VarDebug As Boolean) As Integer

Dim oMSG As Object
Dim oConfig As Object
Dim CFields As Object
Dim strBody As String

Set oMSG = CreateObject("CDO.Message")
Set oConfig = CreateObject("CDO.Configuration")
Set CFields = oConfig.Fields
Set oMSG.Configuration = oConfig

CFields("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
CFields("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "****"
CFields("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1
'CFields("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
CFields("http://schemas.microsoft.com/cdo/configuration/sendusername") = "***" 'Login
CFields("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "***" 'password
CFields("urn:schemas:mailheader:content-language") = "windows-1251"
CFields.Update

oMSG.To = emailTo
oMSG.From = "*******"
oMSG.Subject = emailSubject
oMSG.BodyPart.Charset = "windows-1251"
oMSG.AddAttachment file
oMSG.HTMLBody = emailBody
oMSG.Send

End Function
...
Рейтинг: 0 / 0
22.07.2016, 06:54
    #39278314
Im_Max
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Транспорту не удалось связаться с сервером.
Ошибка возникает на строке oMSG.Send
...
Рейтинг: 0 / 0
22.07.2016, 08:08
    #39278329
HandKot
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Транспорту не удалось связаться с сервером.
Im_MaxОшибка возникает на строке oMSG.Send
можно попробовать так
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
'отменяем обработчик ошибок
ON error resume next
While 1=1
   err.Clear 
   oMSG.Send
  'если ошибки нет выходим из цикла
  If err.Number = 0 Then Exit Do 
  Application.wait time:=now+timeserial(0,0,1)
Loop 
'восстанавливаем обработчик ошибок
'но у Вас его чёй-то нет
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Транспорту не удалось связаться с сервером. / 4 сообщений из 4, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]