Здравствуйте, многоуважаемые гуру! Не могу решить проблему с обработкой и архивацией писем с доп. аккаунта в аутлуке, через макрос эксель. Есть такой код:
Код
Sub mail_attachments_download()
Dim objOutlookApp As Object, objMail As Object
Dim sTo As String, sSubject As String, sBody As String, sAttachment As String
Dim objOutlApp As Object, oNSpace As Object, oIncoming As Object
Dim oIncMails As Object, oMail As Object, oAtch As Object
Dim IsNotAppRun As Boolean
Dim sFolder As String, st As String, bodym As String
Application.ScreenUpdating = False
actbk = ThisWorkbook.Name
On Error Resume Next
Set objOutlApp = GetObject(, "outlook.Application")
If objOutlApp Is Nothing Then
Set objOutlApp = CreateObject("outlook.Application")
IsNotAppRun = True
End If
Set oNSpace = objOutlApp.GetNamespace("MAPI")
Set oIncoming = oNSpace.GetDefaultFolder(6)
Set oIncMails = oIncoming.Items
For Each oMail In oIncMails.Restrict("[Unread]=TRUE")
For Each oAtch In oMail.Attachments
For i = 2 To Workbooks(actbk).Worksheets("Suppliers list page").UsedRange.Rows.Count
If InStr(1, oAtch, Workbooks(actbk).Worksheets("Suppliers list page").UsedRange.Cells(i, 1).Value, vbTextCompare) <> 0 Then
If Right(oAtch, 4) = ".xls" Then
mnslft = 4
Else
mnslft = 5
End If
sFolder = Workbooks(actbk).Worksheets(2).UsedRange.Cells(i, 2).Value
If Right(sFolder, 1) <> "\" Then
sFolder = sFolder & "\"
End If
oAtch1 = Left(oAtch, Len(oAtch) - mnslft) & " (Downloaded " & Left(Now, 10) & ")" & Right(oAtch, mnslft)
oAtch3 = Left(oAtch, Len(oAtch) - mnslft) & " (Downloaded " & Left(Now, 13) & "h" & Left(Right(Now, 5), 2) & "m" & Right(Now, 2) & "s)"
st = sFolder & oAtch1
oAtch.SaveAsFile st
n = Workbooks(actbk).Worksheets("Archive page").UsedRange.Rows.Count + 1
Workbooks(actbk).Worksheets("Archive page").UsedRange.Cells(n, 1).Value = Workbooks(actbk).Worksheets("Suppliers list page").UsedRange.Cells(i, 1).Value
Workbooks(actbk).Worksheets("Archive page").UsedRange.Cells(n, 2).Value = oMail.Sender.GetExchangeUser.PrimarySmtpAddress
Workbooks(actbk).Worksheets("Archive page").UsedRange.Cells(n, 3).Value = oAtch
Workbooks(actbk).Worksheets("Archive page").UsedRange.Cells(n, 4).FormulaR1C1 = "=HYPERLINK(""" & sFolder & """,""" & sFolder & """)"
Workbooks(actbk).Worksheets("Archive page").UsedRange.Cells(n, 5).Value = Now
oMail.Unread = False
oMail.SaveAs (sFolder & "Mail archive\" & oAtch3 & ".msg")
End If
Next
Next
Next
End Sub
Он прекрасно работает, сохраняет вложения, и заносит в лист архива данные. Но игнорирует второй аккаунт в аутлуке, а мне необходимо, чтобы макрос выбирал сообщения именно из него. Аккаунт шаренный. Я попытался заменить Set oIncoming = oNSpace.GetDefaultFolder(6) на Set oIncoming = oNSpace.GetSharedDefaultFolder("мыло_аккаунта",6), но при этом скрипт просто не определяет папку. Подскажите, пожалуйста, в чем ошибка?
Обработка входящих писем Outlook из Excel, нужен скрипт для vbScript, который по кнопке из Excel определит входящие непрочитанные письма в Outlook и разложит данные по ним в таблицу
Доброго времени суток, многоуважаемые гуру! Столкнулся с такой проблемой: нужно, чтобы в экселе по нажатию кнопки проверялась почта аутлук на наличие входящих непрочитанных писем, и в последствии нужно вложения сохранить на диск, и разложить инфу в таблицу - дата, отправитель, тема, тело, ссылка на вложение, если есть. Проблема в том, что я, как ни бился, не могу найти ни туториал, ни пример скрипта для подобной задачи. Точнее куча скриптов есть, но только для Outlook, а в Excel они не работают, как понимаю, языки частично разные. Если у кого-то есть пример или туториал, как сконнектить ексель с почтой буду невероятно благодарен.
Мне нужно из ячейки со строкой (это одна ячейка): A-Class : RR-TRUNK-LID_SEDAN_IND015 RR-TAILGATE_SW_IND009 FI : FIXGF FAR 13 42-F03_8450040017_Rear Lamp TRUNK LID_Cp07 скопировать символы после "A-Class : " и до "FI :", а так же в другую ячейку все символы после "FI :" количество символов всегда разное, и если со вторым проблем нет: