Отправка электронной почты из программы
Материал из GedeminWiki
Версия от 18:04, 27 октября 2010; SYSDBA (обсуждение | вклад)
Ниже приводится пример макроса, предложенный nkornachenko, который строит отчет, сохраняет его в файле и отсылает на указанный адрес электронной почты.
... Dim FileName, B, objMessage FileName = "..." Set B(0) = OwnerForm B(1) = Date B(2) = Array(CarType) Call System.ReportSystem.ExportReportWithParam(<id отчета>, B, FileName , "PDF") WinAPI.Sleep(5000) ' Пауза, чтобы отчет успел построиться Set objMessage = CreateObject("CDO.Message") objMessage.Subject = "..." objMessage.From = "xxxxx@yyyy.by" objMessage.To = "xxxxx@yyyy.by" objMessage.TextBody = "Текст письма" objMessage.Configuration.Fields.Item _ ("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2 objMessage.Configuration.Fields.Item _ ("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "xxx.xxx.xxx.xxx" 'Адрес SMTP servera objMessage.Configuration.Fields.Item _ ("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1 objMessage.Configuration.Fields.Item _ ("http://schemas.microsoft.com/cdo/configuration/sendusername") = "xxxxx" 'Имя пользователя objMessage.Configuration.Fields.Item _ ("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "yyyyy" 'Пароль objMessage.Configuration.Fields.Item _ ("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25 objMessage.Configuration.Fields.Item _ ("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = False objMessage.Configuration.Fields.Item _ ("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 60 If FileName > "" Then objMessage.MimeFormatted = True objMessage.AddAttachment("file:" & FileName) End if objMessage.Configuration.Fields.Update objMessage.Send Set objMessage = Nothing ...