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
Листинг программы
Function CorrectFaleName(ByVal FName As String) As String arrA = Array(34, 42, 47, 58, 60, 62, 63, 92, 124) arrB = Array(39, 149, 178, 59, 171, 187, 33, 178, 178) tmpString = FName For i = 1 To 31 tmpString = Replace(tmpString, Chr(i), "") 'удаляю непечат. символы Next i For i = 0 To 8 tmpString = Replace(tmpString, Chr(arrA(i)), Chr(arrB(i))) 'удаляю остальные символы Next i CorrectFaleName = tmpString End Function Function DateFormat(ByVal Dt As Date) As String Dim D Dim T D = Year(Dt) & "-" & Format(Month(Dt), "00") & "-" & Format(Day(Dt), "00") T = Format(Hour(Dt), "00") & "." & Format(Minute(Dt), "00") & "." & Format(Second(Dt), "00") DateFormat = D & " " & T End Function Sub test() Set InboxFolder = Application.GetNamespace("MAPI").GetDefaultFolder(olFolderDeletedItems) 'Set InboxFolder = Application.GetNamespace("MAPI").GetDefaultFolder(olFolderInbox) If InboxFolder.Items.Count = 0 Then Exit Sub For i = 1 To InboxFolder.Items.Count Set CurrItem = InboxFolder.Items(i) iName = CurrItem.SenderName iFormat = CurrItem.BodyFormat iTime = CurrItem.ReceivedTime 'принято на сервер iTopic = CurrItem.ConversationTopic 'iTime1 = CurrItem.CreationTime 'принято на комп 'iSize = CurrItem.Size \ 1024 & " Кб" CurrItem.BodyFormat = olFormatHTML newDir = "C:\_123\" & iName If Dir(newDir, vbDirectory) = "" Then MkDir newDir 'CurrItem.SaveAs "C:\_123\" & DateFormat(iTime) & " - " & iTopic & ".htm", olHTML 'CurrItem.SaveAs "C:\_123\" & DateFormat(iTime) & ".htm", olHTML 'CurrItem.SaveAs "C:\_123\" & iName & "\" & DateFormat(iTime) & ".htm", olHTML CurrItem.SaveAs newDir & "\" & DateFormat(iTime) & " - " & CorrectFaleName(iTopic) & ".htm", olHTML 'CurrItem.SaveAs newDir & "\" & DateFormat(iTime) & ".htm", olHTML Next 'msgbox "OK!" End Sub
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д