1
Outlookを開始したい場合、Outlookには未読メールがあるすべてのメールボックスのみが表示されます。Outlook 2010 - VBA MsgBox未読のメールが10個以上ある場合
現時点では、私のVBAスクリプトはすべてのメールボックスフォルダ/アカウントを展開します。 しかし、このリストは残念ながら長すぎます。
未読の要素をチェックする方法を探しています。 私は単純なMsgBox
で試しましたが、うまくいきません。
Private Sub Application_Startup()
'Folder-Variable definieren
Dim objFolderIMAP01 As Outlook.Folder
Dim objFolderIMAP02 As Outlook.Folder
Dim objFolderIMAP03 As Outlook.Folder
'IMAP-Folder zuweisen (hier in Klammern mit Anführungszeichen den Namen der IMAP-Datendatei eintragen)
Set objFolderIMAP01 = Outlook.Session.Folders("MailBox1")
Set objFolderIMAP02 = Outlook.Session.Folders("MailBox2")
Set objFolderIMAP03 = Outlook.Session.Folders("MailBox3")
'Alle Unterordner selektieren (und damit aufklappen)
Call selectAllFolderRec(objFolderIMAP01)
Call selectAllFolderRec(objFolderIMAP02)
Call selectAllFolderRec(objFolderIMAP03)
'Posteingang als Startordnder auswählen
Call Outlook.ActiveExplorer.SelectFolder(objFolderIMAP01.Folders("Posteingang"))
Call Outlook.ActiveExplorer.SelectFolder(objFolderIMAP02.Folders("Posteingang"))
Call Outlook.ActiveExplorer.SelectFolder(objFolderIMAP03.Folders("Posteingang"))
'Info wenn mehr als 10 Emails ungelesen
If objFolderIMAP01.UnReadItemCount > 10 Then
MsgBox "Mailbox 1 ist voll!"
End If
If objFolderIMAP01.UnReadItemCount > 10 Then
MsgBox "Mailbox 2 ist voll!"
End If
If objFolderIMAP01.UnReadItemCount > 10 Then
MsgBox "Mailbox 3 ist voll!"
End If
End Sub
Sub selectAllFolderRec(objFolder As Outlook.Folder)
Dim lngCounter As Long
Dim bolSkipSelect As Boolean
bolSkipSelect = False
For lngCounter = 1 To objFolder.Folders.Count
If objFolder.Folders(lngCounter).Folders.Count > 0 And objFolder.Folders(lngCounter).Folders.UnReadItemCount > 10 Then
Call selectAllFolderRec(objFolder.Folders(lngCounter))
Else
If bolSkipSelect = False Then
Call Outlook.ActiveExplorer.SelectFolder(objFolder.Folders(lngCounter))
bolSkipSelect = True
End If
End If
Next lngCounter
End Sub
エラーメッセージ、間違った結果、何も起こらないという意味ですか? – June7
私はちょっと混乱しているので、Outlookを開いて「未読アイテム」のあるアカウントだけを見たいと思っていますか?そして何? – 0m3r
私はこれを試しました: 'If objFolderIMAP01.UnReadItemCount> 10 Then MsgBox" Mailbox "&objFolderIMAP01&" ist voll! " & "("&objFolderIMAP01.UnReadItemCount& ")" End If'ただし、未読アイテムは常に0とカウントされます。 –