Отправка электронной почты из программы

Материал из GedeminWiki
(Различия между версиями)
Перейти к: навигация, поиск
(Новая страница: «Ниже приводится пример макроса, предложенный [http://code.google.com/u/nkornachenko/ nkornachenko], который строи…»)
 
Строка 1: Строка 1:
Ниже приводится пример макроса, предложенный [http://code.google.com/u/nkornachenko/ nkornachenko], который строит отчет, сохраняет его в файле и отсылает на указанный адрес электронной почты.
+
Ниже приводится пример макроса, предложенный [http://code.google.com/u/nkornachenko/ nkornachenko], который строит отчет, сохраняет его в PDF файле и отсылает на указанный адрес электронной почты.
  
 
<syntaxhighlight lang="vbnet">
 
<syntaxhighlight lang="vbnet">
 
   ...
 
   ...
+
   Dim B(2)
   Dim FileName, B, objMessage 
+
  FileName = "..."
+
 
   Set B(0) = OwnerForm
 
   Set B(0) = OwnerForm
 
   B(1) = Date
 
   B(1) = Date
 
   B(2) = Array(CarType)
 
   B(2) = Array(CarType)
 +
 +
  Dim FileName, objMessage, WScript 
 +
  FileName = ...
  
 
   Call System.ReportSystem.ExportReportWithParam(<id отчета>, B, FileName , "PDF")
 
   Call System.ReportSystem.ExportReportWithParam(<id отчета>, B, FileName , "PDF")
   WinAPI.Sleep(5000) ' Пауза, чтобы отчет успел построиться
+
   Set WScript = CreateObject("WScript.Shell")
 +
  WScript.Sleep 5000 'Пауза, чтобы отчет успел построиться
  
 
   Set objMessage = CreateObject("CDO.Message")
 
   Set objMessage = CreateObject("CDO.Message")
   objMessage.Subject = "..."
+
   objMessage.Subject = "Тема письма"
 
   objMessage.From = "xxxxx@yyyy.by"  
 
   objMessage.From = "xxxxx@yyyy.by"  
 
   objMessage.To = "xxxxx@yyyy.by"
 
   objMessage.To = "xxxxx@yyyy.by"
Строка 40: Строка 42:
 
   objMessage.Configuration.Fields.Update
 
   objMessage.Configuration.Fields.Update
 
   objMessage.Send
 
   objMessage.Send
  Set objMessage = Nothing
 
 
   ...
 
   ...
 
</syntaxhighlight>
 
</syntaxhighlight>
  
 
[[Category:Школа системного администратора]]
 
[[Category:Школа системного администратора]]

Версия 23:29, 27 октября 2010

Ниже приводится пример макроса, предложенный nkornachenko, который строит отчет, сохраняет его в PDF файле и отсылает на указанный адрес электронной почты.

  ...
  Dim B(2)
  Set B(0) = OwnerForm
  B(1) = Date
  B(2) = Array(CarType)
 
  Dim FileName, objMessage, WScript  
  FileName = ...
 
  Call System.ReportSystem.ExportReportWithParam(<id отчета>, B, FileName , "PDF")
  Set WScript = CreateObject("WScript.Shell")
  WScript.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
  ...
Персональные инструменты
Пространства имён

Варианты
Действия
Навигация
Инструменты