By cristianvacca@gmail.com 05年2018月XNUMX日月曜日
投稿: Outlook
返信 2
いいね 0
ビュー 5.6K
投票 0
私のコードは機能します。
コードは私が望むすべてを行います。
複雑すぎるコード。 短くする必要があると思います。
最大200個のフォルダーを入力する必要があり、このようにして非常に長いコードを実行する必要があります。
すべての受信メールフォルダ内のすべてのメッセージをチェックする必要があります。 2つのフォルダを除くすべて。 チェックする必要のないフォルダは「」と「」と呼ばれます。
誰か助けてくれますか?
ありがとうございました。

サブMoveItems7TEST()

myNameSpaceをOutlook.NameSpaceとして薄暗くする
myInboxをOutlook.Folderとして薄暗くする
myInbox2をOutlook.Folderとして薄暗くする
myInbox3をOutlook.Folderとして薄暗くする

myDestFolderをOutlook.Folderとして薄暗くする

myItemsをOutlook.Itemsとして薄暗くする
myItems2をOutlook.Itemsとして薄暗くする
myItems3をOutlook.Itemsとして薄暗くする

myItemをオブジェクトとして薄暗くする

myNameSpace = Application.GetNamespace( "MAPI")を設定します
'到着時のポスタ
myInbox = myNameSpace.GetDefaultFolder(olFolderInbox)を設定します
'スティーフ
myInbox2 = myNameSpace.GetDefaultFolder(olFolderInbox).Folders( "Stef")を設定します
'Servizio
myInbox3 = myNameSpace.GetDefaultFolder(olFolderInbox).Folders( "Servizio")を設定します

myItems=myInbox.Itemsを設定します
myItems2=myInbox2.Itemsを設定します
myItems3=myInbox3.Itemsを設定します

myDestFolder = myInbox.Folders( "Da completare")を設定します

myItem = myItems.Find( "[FLAGSTATUS] = 8")に設定します
TypeName(myItem)<> "Nothing"
myItem.Move myDestFolder
myItem=myItems.FindNextを設定します
Wend

myItem = myItems2.Find( "[FLAGSTATUS] = 8")を設定します
TypeName(myItem)<> "Nothing"
myItem.Move myDestFolder
myItem=myItems2.FindNextを設定します
Wend

myItem = myItems3.Find( "[FLAGSTATUS] = 8")を設定します
TypeName(myItem)<> "Nothing"
myItem.Move myDestFolder
myItem=myItems3.FindNextを設定します
Wend
End Subの
Outlookメールアイテムを電子メールアドレスでサブフォルダーに移動します
Option Explicit
Public Sub Move_Items()
'//変数を宣言します
    Outlook.MAPIFolderとして受信トレイを暗くする
    Outlook.MAPIFolderとして薄暗いサブフォルダ
    Outlook.NameSpaceとしての薄暗い
    オブジェクトとしての薄暗いアイテム
    Outlook.Itemsとしてアイテムを暗くする
    Dim lngCount As Long
    エラー時GoToMsgErr
'受信トレイ参照を設定
    Set olNs = Application.GetNamespace( "MAPI")
    Inbox = olNs.GetDefaultFolder(olFolderInbox)を設定します
    セット項目 = Inbox.Items
'//フォルダ内のアイテムを逆方向にループします
    lngCount = Items.Count To 1Step-1の場合
        Set Item = Items(lngCount)
        Item.Class = olMailの場合Then
            CaseItem.SenderEmailAddressを選択します
'// Email_One
                ケース「Email_One@email.com」
'//受信トレイのサブフォルダを設定
                    SubFolder = Inbox.Folders( "Folder One")を設定します
                    Set Item = Items.Find( "[SenderEmailAddress] ='Email_One@email.com'")
                    TypeName(Item)<> "Nothing" Then
' // 既読にする
                        項目.UnRead = False
'//メールアイテムをサブフォルダに移動
                        Item.Moveサブフォルダー
                    終了する場合
'// Email_Two
                ケース「Email_Two@email.com」
'//受信トレイのサブフォルダを設定
                    SubFolder = Inbox.Folders( "Folder Two")を設定します
                    Set Item = Items.Find( "[SenderEmailAddress] ='Email_Two@email.com'")
                    TypeName(Item)<> "Nothing" Then
' // 既読にする
                        項目.UnRead = False
'//メールアイテムをサブフォルダに移動
                        Item.Moveサブフォルダー
                    終了する場合
            選択して終了
        終了する場合
    次のlngCount
MsgErr_Exit:
    受信トレイを設定=なし
    SubFolder=Nothingを設定します
    olNs=なしを設定します
    セットアイテム=なし
    セットアイテム=なし
    サブを終了
'//エラー情報
MsgErr:
    MsgBox「予期しないエラーが発生しました。」 _
         &vbCrLf& "エラー番号:"&Err.Number _
         &vbCrLf& "エラーの説明:"&Err.Description _
         、vbCritical、 "エラー!"
    MsgErr_Exitを再開します
End Subの
または、すべてのメールアイテムの受信トレイをサブフォルダに移動します
Option Explicit
Public Sub Move_Items()
'//変数を宣言します
    Outlook.MAPIFolderとして受信トレイを暗くする
    Outlook.MAPIFolderとして薄暗いサブフォルダ
    Outlook.NameSpaceとしての薄暗い
    オブジェクトとしての薄暗いアイテム
    Dim lngCount As Long
    Outlook.Itemsとしてアイテムを暗くする
    エラー時GoToMsgErr
'受信トレイ参照を設定
    Set olNs = Application.GetNamespace( "MAPI")
    Inbox = olNs.GetDefaultFolder(olFolderInbox)を設定します
    セット項目 = Inbox.Items
'//フォルダ内のアイテムを逆方向にループします
    lngCount = Items.Count To 1Step-1の場合
        Set Item = Items(lngCount)
        デバッグ.印刷項目.件名
        Item.Class = olMailの場合Then
'//受信トレイのサブフォルダを設定
            SubFolder = Inbox.Folders( "Temp")を設定します
' // 既読にする
            項目.UnRead = False
'//メールアイテムをサブフォルダに移動
            Item.Moveサブフォルダー
        終了する場合
    次のlngCount
MsgErr_Exit:
    受信トレイを設定=なし
    SubFolder=Nothingを設定します
    olNs=なしを設定します
    セットアイテム=なし
    サブを終了
'//エラー情報
MsgErr:
    MsgBox「予期しないエラーが発生しました。」 _
         &vbCrLf& "エラー番号:"&Err.Number _
         &vbCrLf& "エラーの説明:"&Err.Description _
         、vbCritical、 "エラー!"
    MsgErr_Exitを再開します
End Subの
·
3年前
·
0が好き
·
0投票
·
0のコメント
·
下記のコードを試してください:-
サブMoveItems7TEST()

myNameSpaceをOutlook.NameSpaceとして薄暗くする
myInboxをOutlook.Folderとして薄暗くする
myInbox2をOutlook.Folderとして薄暗くする
myInbox3をOutlook.Folderとして薄暗くする

myDestFolderをOutlook.Folderとして薄暗くする

myItemsをOutlook.Itemsとして薄暗くする
myItems2をOutlook.Itemsとして薄暗くする
myItems3をOutlook.Itemsとして薄暗くする

myItemをオブジェクトとして薄暗くする

myNameSpace = Application.GetNamespace( "MAPI")を設定します
'到着時のポスタ
myInbox = myNameSpace.GetDefaultFolder(olFolderInbox)を設定します
'スティーフ
myInbox2 = myNameSpace.GetDefaultFolder(olFolderInbox).Folders( "Stef")を設定します
'Servizio
myInbox3 = myNameSpace.GetDefaultFolder(olFolderInbox).Folders( "Servizio")を設定します

myItems=myInbox.Itemsを設定します
myItems2=myInbox2.Itemsを設定します
myItems3=myInbox3.Itemsを設定します

myDestFolder = myInbox.Folders( "Da completare")を設定します

myItem = myItems.Find( "[FLAGSTATUS] = 8")に設定します
TypeName(myItem)<> "Nothing"
myItem.Move myDestFolder
myItem=myItems.FindNextを設定します
Wend

myItem = myItems2.Find( "[FLAGSTATUS] = 8")を設定します
TypeName(myItem)<> "Nothing"
myItem.Move myDestFolder
myItem=myItems2.FindNextを設定します
Wend

myItem = myItems3.Find( "[FLAGSTATUS] = 8")を設定します
TypeName(myItem)<> "Nothing"
myItem.Move myDestFolder
myItem=myItems3.FindNextを設定します
Wend
End Subの

この情報がお役に立てば幸いです。
·
3年前
·
0が好き
·
0投票
·
0のコメント
·
投稿全体を見る