2017-09-22 3 views
0

基本的な情報がありますが、タスクの作成や電子メールの移動などの作業を行う方法はわかりません。私は手動で件名を更新するためのスクリプトを作成しましたが、それは私の最終目標で私を助けていません。件名を変更したり、メールを移動したり、メールを受信して​​タスクを作成したりするためのOutlook VBA

これを行うには最良の方法ではありませんが、機能します。基本的には、新しい電子メールを受信したときにこの火を消す必要があります。下のような件名を編集し、それをサブフォルダに移動してください.... 1と呼んで、2日のタスクを作成しましょう。

Sub ChangeSubjects() 
Dim Item As Outlook.MailItem 
Dim oInspector As Inspector 
Dim oExplorer As Explorer 
Dim oCt As Integer 
Dim cCt As Integer 
Dim iSubject As String 
Set oInspector = Application.ActiveInspector 
Set oExplorer = Application.ActiveExplorer 
cCt = 1 
oCt = oExplorer.Selection.Count 

For Each Item In Application.ActiveExplorer.Selection 
    If oInspector Is Nothing Then 
     Set Item = Application.ActiveExplorer.Selection.Item(cCt) 
     Item.Display 
     Set oInspector = Application.ActiveInspector 'Reassign oInpsector and Item again 
     Set Item = oInspector.currentItem 
    Else 
     Set Item = oInspector.currentItem 
    End If 

    If Left(Item.Subject, 27) = "Look for this string" Then Item.Subject = Mid(Item.Subject, 29) 
     Item.Close (2) 
    Set oInspector = Application.ActiveInspector 
    cCt = cCt + 1 
Next 
End Sub 
+1

についての記事へのリンクです。部品は分けられているので、このコメントの後のあなたのような将来のサーチャーは、答えを見つけ出し、必要に応じて一緒に置くことができます。このようにして、もしあなたがそうすることを選んだならば、あなたができるならば、あなたはこの広範な投稿ではできない4つの答えを受け入れることができます。 – niton

答えて

2

ここでは、電子メールを移動する方法は次のとおりです。

Sub MoveItems() 
Dim myNameSpace As Outlook.NameSpace 
Dim myInbox As Outlook.Folder 
Dim myDestFolder As Outlook.Folder 
Dim myItems As Outlook.Items 
Dim myItem As Object 

Set myNameSpace = Application.GetNamespace("MAPI") 
Set myInbox = myNameSpace.GetDefaultFolder(olFolderInbox) 
Set myItems = myInbox.Items 
Set myDestFolder = myInbox.Folders("Test") 
Set myItem = myItems.Find("[Subject] = '[Subject Name]'") 
While TypeName(myItem) <> "Nothing" 
    myItem.Move myDestFolder 
    Set myItem = myItems.FindNext 
Wend 
End Sub 

あなたはまた、Set myItem = myItems.Find("[Subject] = '[Subject Name]'")等しいSet myItem = myItems.Find("[SenderName] = '[Sender Name]'")を持つことができますが、それは送信者や件名名前を持つすべてのメールを見つけることを警告されます。以下のコードは、電子メールの件名を変更します。

Sub ChangeSubject() 
Dim obj As Object 
Dim msg As Outlook.MailItem 
Dim subject As String 
Set obj = ActiveExplorer.Selection 
subject = "Picture" 
If Not obj Is Nothing Then 
    For i = 1 To obj.Count 
    Set msg = obj.Item(i) 
    With msg 
     .subject = subject 
    End With 
    Next i 
ElseIf Not msg Is Nothing Then 
    msg.subject = subject 
End If 
End Sub 

は、ここで作成したタスクサイトは、彼らが以前に回答されていない場合ので、あなたは、4つの別々の質問をするだろう設定されているhttps://www.devhut.net/2010/09/03/vba-create-an-outlook-task/

関連する問題