2010-12-04 2 views
0

사용자가 저장하면 새 저장소 항목을 특정 저장소에 만들려고합니다. 일반적으로 여러 계정이있는 경우 새 항목을 만들 때 (예 : 작업에 대해 Ctrl + Shift + K 누르기) 활성 계정의 기본 폴더에 새 항목이 만들어집니다.Outlook VBA : 새 (저장되지 않은) 항목을 폴더로 이동

새 항목에 대한 관리자를 가로 채고 이동하려고 시도했지만 아무 효과가 없습니다. 여기서, 코드의 요지 (비 ​​새로운 아이템을 피하기 위해 검사 생략)된다

Dim WithEvents inspectors As Outlook.inspectors 

Private Sub Application_Startup() 
    Set inspectors = Application.inspectors 
End Sub 

Private Sub inspectors_NewInspector(ByVal Inspector As Inspector) 
    Dim item As Object 
    Set item = Inspector.CurrentItem 
    If item Is Nothing Then Exit Sub 
    If item.Class <> olTask Then Exit Sub 
    item.Move Application.GetNamespace("MAPI").GetDefaultFolder(olFolderTasks) 
End Sub 

불행히도 이동 방법은 효과가 없다. 어떤 아이디어?

답변

1

저장되지 않은 항목은 이동할 수 없습니다. 아이템을 어떻게 만들고 있습니까?

Items.Add 메서드를 사용하면 특정 폴더에 항목을 추가 할 수 있습니다. CreateItem 메서드를 사용하는 경우 해당 항목 형식의 기본 폴더에 항상 만들어집니다.

기존 기능을 사용하여 작업을 시도하는 대신 (가능한지 또는 쉽지는 모르겠 음) 원하는 폴더에 작업을 만드는 매크로를 만드는 것이 더 바람직하다고 생각합니다. 매크로를 도구 모음 단추에 추가하십시오. 또는 항목을 먼저 저장 한 다음 옮길 수도 있습니다. 현재 코드는 항목을 기본 작업 폴더로 이동합니다.

+0

내 목표는 Outlook에서 작업을 생성하는 표준 방법 인 홈> 새 항목> 작업 또는 Ctrl + Shift + K에 연결하는 것입니다. Folders.Add는 새 폴더를 만듭니다. 사용자가 데이터를 채운 다음 저장을 클릭하면 특정 폴더에 새 작업 항목을 만들려고합니다. –

+0

나는 Items.Add를 의미했다, 대답을 개정 할 것이다. – JimmyPena

+0

매크로를 작성하라는 제안은 가능한 최선의 것 같습니다. 처음에는 그렇게 했었지만, 기본 작업 생성 메커니즘에 연결되기를 바랬습니다. 불행히도, 그것은 가능하지 않습니다. 초기 작업 항목을 닫거나 NewInspector 메서드에서 새 작업 항목을 만들 수 없습니다. –

관련 문제