|
|
|
Forum 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 SubPublic 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 определить что его вызывают и запустить указанный выше код?????
|
|
|
|