Outlook задача обработки писем - VB

Узнай цену своей работы

Формулировка задачи:

Привет всем! Есть такая цель, опишу ниже подробнее На почту приходят алармы в определенный ящик мейлбокса, Шапка письма backserver: backserv: Backup group aborted: SHS-EIT-daily (already running) Текст: NetWorker savegroup: (alert) Group SHS-EIT-daily aborted, savegrp is already running Надо каким-то образом вытащить из письма информацию и загнать в эксель, таким образом вытащить имя упавшей бекап группы, в нашем случае SHS-EIT-daily создать новое письмо, указав кому, и в текст вставить имя этой группы. Пока я не знаю как забирать инфо из Оутлука вообще.

Решение задачи: «Outlook задача обработки писем»

textual
Листинг программы
  1. Function CorrectFaleName(ByVal FName As String) As String
  2. arrA = Array(34, 42, 47, 58, 60, 62, 63, 92, 124)
  3. arrB = Array(39, 149, 178, 59, 171, 187, 33, 178, 178)
  4. tmpString = FName
  5. For i = 1 To 31
  6. tmpString = Replace(tmpString, Chr(i), "") 'удаляю непечат. символы
  7. Next i
  8.  
  9. For i = 0 To 8
  10. tmpString = Replace(tmpString, Chr(arrA(i)), Chr(arrB(i))) 'удаляю остальные символы
  11. Next i
  12.  
  13. CorrectFaleName = tmpString
  14. End Function
  15.  
  16. Function DateFormat(ByVal Dt As Date) As String
  17. Dim D
  18. Dim T
  19. D = Year(Dt) & "-" & Format(Month(Dt), "00") & "-" & Format(Day(Dt), "00")
  20. T = Format(Hour(Dt), "00") & "." & Format(Minute(Dt), "00") & "." & Format(Second(Dt), "00")
  21. DateFormat = D & " " & T
  22. End Function
  23.  
  24. Sub test()
  25. Set InboxFolder = Application.GetNamespace("MAPI").GetDefaultFolder(olFolderDeletedItems)
  26. 'Set InboxFolder = Application.GetNamespace("MAPI").GetDefaultFolder(olFolderInbox)
  27.  
  28. If InboxFolder.Items.Count = 0 Then Exit Sub
  29. For i = 1 To InboxFolder.Items.Count
  30.     Set CurrItem = InboxFolder.Items(i)
  31.    
  32.     iName = CurrItem.SenderName
  33.     iFormat = CurrItem.BodyFormat
  34.     iTime = CurrItem.ReceivedTime 'принято на сервер
  35.    iTopic = CurrItem.ConversationTopic
  36.     'iTime1 = CurrItem.CreationTime 'принято на комп
  37.    'iSize = CurrItem.Size \ 1024 & " Кб"
  38.    
  39.     CurrItem.BodyFormat = olFormatHTML
  40.    
  41.     newDir = "C:\_123\" & iName
  42.     If Dir(newDir, vbDirectory) = "" Then MkDir newDir
  43.    
  44.     'CurrItem.SaveAs "C:\_123\" & DateFormat(iTime) & " - " & iTopic & ".htm", olHTML
  45.    'CurrItem.SaveAs "C:\_123\" & DateFormat(iTime) & ".htm", olHTML
  46.    'CurrItem.SaveAs "C:\_123\" & iName & "\" & DateFormat(iTime) & ".htm", olHTML
  47.    CurrItem.SaveAs newDir & "\" & DateFormat(iTime) & " - " & CorrectFaleName(iTopic) & ".htm", olHTML
  48.     'CurrItem.SaveAs newDir & "\" & DateFormat(iTime) & ".htm", olHTML
  49. Next
  50. 'msgbox "OK!"
  51. End Sub

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 4.385 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут