2017-04-24 12 views
1

수신자 플래그가있는 이메일을 보내는 Outlook 2007 매크로가 있지만 더 이상 작동하지 않습니다.플래그가 작동하지 않는 이메일 보내기

실수로 코드를 변경했지만 더 이상 작동하지 않습니다.

받는 사람이 수행 할 전자 메일을 보지 못하고 전자 메일 목록에 빨간색을 표시하지 않습니다.

Sub fff() 
    Dim outApp As Object 
    Dim OutMail As Object 

    Dim datDue As Date 
    datDue = DateAdd("d", 7, Date) 


    Set OutMail = outApp.CreateItem(0) 

    With OutMail 
     .To = "[email protected]" 
     .Subject = "test" 
     .HtmlBody = "msg" 

     .Importance = olImportanceHigh 
     .FlagStatus = olFlagMarked 
     .FlagRequest = "Follow up" 
     .ReminderTime = datDue & " 17:00 PM" 
     .ReminderOverrideDefault = True 
     .ReminderSet = True 
     .TaskStartDate = Date 
     .TaskDueDate = datDue 
     .Save 
     .Send 

    End With 

End Sub 
+0

어디에서 코드를 실행하고 있습니까? 뛰어나다? – 0m3r

+0

수신함의 현재 [규칙] (https://support.office.com/en-gb/article/Manage-messages-by-using-rules-80cc1f28-533d-4879-a8cc-ef83e9af0495)을 확인하십시오. . 들어오는 전자 메일의 범주를 제거하는 기본 규칙이 있습니다. 규칙은받는 사람이 아니라 보낸 사람에게 무언가를 의미한다는 가정입니다. –

+0

안녕하세요. 환경은 지난 주와 동일합니다. 코드는 강조 표시를 빨간색으로 표시하고 수신자에게 알림을 표시하고 알림을 표시하지 않습니다. – wittman

답변

2

귀하의 변수 OutApp 유용하지 않고 Outlook에서이 직접 사용으로 Application을해야합니다.

(2013 Outlook을) 난 그냥 그 코드를 테스트하고 나를 위해 잘 작동 :

Sub AssignTask() 
Dim myItem As Outlook.TaskItem 
Dim myDelegate As Outlook.Recipient 
Set MyItem = Application.CreateItem(olTaskItem) 
MyItem.Assign 
Set myDelegate = MyItem.Recipients.Add("Eugene Astafiev") 
myDelegate.Resolve 
If myDelegate.Resolved Then 
    myItem.Subject = "Prepare Agenda for Meeting" 
    myItem.DueDate = Now + 30 
    myItem.Display 
    myItem.Send 
End If 
End Sub 

대체하는 것을 잊지 마세요 '

Sub wittman() 
    Dim OutMail As MailItem 
    Dim datDue As Date 

    datDue = DateAdd("d", 7, Date) 
    Set OutMail = Application.CreateItem(0) 

    With OutMail 
     .To = "[email protected]" 
     .Subject = "test" 
     .HTMLBody = "msg" 

     .Importance = olImportanceHigh 
     .FlagStatus = olFlagMarked 
     .FlagRequest = "Follow up" 
     .ReminderTime = datDue & " 17:00 PM" 
     .ReminderOverrideDefault = True 
     .ReminderSet = True 
     .TaskStartDate = Date 
     .TaskDueDate = datDue 
     .Save 
     .Send 
    End With 'OutMail 
End Sub 
+0

안녕하세요, 내 Outlook (2007)에서 작동하지 않습니다. – wittman

+1

* 작동하지 않습니다. * @ R3uK가 도움이되지 않습니다. 어떻게 작동하지 않는지 설명 할 수 있습니까 (오류 메시지가 나타나고 이메일이 나타나지만 보내지 않았습니까? 등)? –

+1

테스트 된 Outlook 2010. 작동합니다. 나는 2007 년이 지원하지 않았던 명백한 것을 볼 수 없다. –

1

당신은 대리인에 작업을 보낼 수 있습니다 Eugene Astafiev '에게이 예제를 실행하기 전에 올바른받는 사람 이름을 지정하십시오.

또한 MailItem 개체를 작업으로 표시하고 개체에 작업 간격을 할당하기 위해 MailItem 클래스의 MarkAsTask 메서드를 사용할 수 있습니다. 이 메서드를 호출하면 MarkInterval에 제공된 값에 따라 여러 다른 속성의 값이 설정됩니다. MarkInterval을 지정하여 설정 한 속성에 대한 자세한 내용은 OlMarkInterval Enumeration을 참조하십시오.

How to set a flag to follow up using VBA 문서가 도움이 될 수 있습니다.

+0

안녕하세요, MarkAsTask는 보내거나받은 메일입니다.받는 사람의 작업으로 표시하고 싶습니다. – wittman

+0

그런 다음 작업 항목을 사용하십시오. 업데이트 된 답변을 확인하십시오. –

+0

안녕, 작업 문제는 그들이 작업을 받아 들여야한다는 것입니다. 내가하려는 일은 그들이해야 할 여분의 일에 대해 불평하지 않을 것입니다. – wittman