опять я с Outlook'ом
Релиб
Форумы       Участники    Календарь    Кто он-лайн?
Добро пожаловать, гость ( Вход | Регистрация )
        



опять я с Outlook'ом Expand / Collapse
Автор
Сообщение
17.07.2007 23:01
Forum Guru

Forum GuruForum GuruForum GuruForum GuruForum GuruForum GuruForum GuruForum Guru

участник
Last Login: 30.09.2008 14:13
Сообщ.: 71, Visits: 458
Здравствуйте, специалисты и не очень. После того как я перешел с Bat на Outlook мне всегда хотелось его (Outlook) заставить сортировать исходящую корреспонденцию, и вот после нескольких попыток разобраться, я понял что в стандарте такого нет, надо что-то писать свое, но Outlook не Excel - слету не получается. Поискал в Интернете и нашел замечательный код:

Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)
    Dim objNS As NameSpace, objFolder As MAPIFolder
    Set objNS = Application.GetNamespace("MAPI")
    Set objFolder = objNS.PickFolder
    If TypeName(objFolder) <> "Nothing" And IsInDefaultStore(objFolder) Then
        Set Item.SaveSentMessageFolder = objFolder
    Else: Cancel = True
    End If
    Set objFolder = Nothing
    Set objNS = Nothing
End Sub

Public Function IsInDefaultStore(objOL As Object) As Boolean
    Dim objApp As Outlook.Application
    Dim objNS As Outlook.NameSpace
    Dim objInbox As Outlook.MAPIFolder
    On Error Resume Next
    Set objApp = CreateObject("Outlook.Application")
    Set objNS = objApp.GetNamespace("MAPI")
    Set objInbox = objNS.GetDefaultFolder(olFolderInbox)
    Select Case objOL.Class
        Case olFolder
            If objOL.StoreID = objInbox.StoreID Then
                IsInDefaultStore = True
            End If
        Case olAppointment, olContact, olDistributionList, _
        olJournal, olMail, olNote, olPost, olTask
            If objOL.Parent.StoreID = objInbox.StoreID Then
                IsInDefaultStore = True
            End If
        Case Else
            MsgBox "This function isn't designed to work " & _
            "with " & TypeName(objOL) & _
            " items and will return False.", _
            , "IsInDefaultStore"
    End Select
    Set objApp = Nothing
    Set objNS = Nothing
    Set objInbox = Nothing
End Function


который надо разместить в ThisOutlookSession. И теперь при отправке письма мне предлагается окно в котором я выбираю папку куда сохранить письмо. Но радовался я не долго, как оказалось это штука работает только из Outlook, если я пытаюсь отправить письмо например напрямую из Excel или Word как вложение, то это событие не обрабатывается.

Как в Outlook определить что его вызывают и запустить указанный выше код?????

Сообщ. #914790
« пред. тема | след. тема »


Эту тему читают Expand / Collapse
Посетители: 0 (0 гостей, 0 участников, 0 скрыт.участников)
Сейчас нет участников, просматривающих тему.
Модераторы: Alexey, boombastik, bazile, pl, VladConn

Время GMT +3:00, Сейчас 8:22