שמירת ATTACHMENTS

IshayPer

New member
שמירת ATTACHMENTS

אני רוצה לרוץ על ה-INBOX שלי ב-OUTLOOK ולשמור את ה-ATTACHMENTS שאני מחפש . איך אני עושה את זה(לא על ידי MAPI אלא אובייקט של OUTLOOK) ניסיתי לעשות את זה כך: Dim myOlApp As New Outlook.Application Dim myItem As MailItem Dim myAttachments As Attachments Set myItem = myOlApp.ActiveInspector.CurrentItem פה הוא נותן לי הודעת שגיאה OBJECT VAIABLE OR WITH BLOCK VARIABLE NOT SET וזה שאר הקוד ´Set myItem = myOlApp.CreateItem(olMailItem) Set myAttachments = myItem.Attachments myAttachments.Item(5).SaveAsFile "C:\My Documents\" & _ myAttachments.Item(5).DisplayName למה הודעת השגיאה ומה לא הוגדר או אותחל?
 

nscom2k

New member
הוא לא נמצא באובייקט הנכון ...

ACTIVEINSPECTOR צריך להיות מוגדר ל-EMAIL הנכון, לכן לא מומלץ להשתמש ב-ACTIVEINSPECTOR. הוא ניגש ל-ATTACHMENT שלא קיים בגלל ש-MAILITEM לא קיים הדרך הכי טובה והמבוקרת לגשת לעצמים ב-OUTLOOK זה רק דרך MAPI הנה קוד VB (אצלי זה עבד טוב), לבצע את הפעולה המבוקשת :
Dim myolapp As Outlook.Application Dim myNameSpace As NameSpace Dim myItem As MailItem Dim myAttachment As Attachment Set myolapp = CreateObject("Outlook.Application") Set myNameSpace = myolapp.GetNamespace("MAPI") Set myItem = myNameSpace.GetDefaultFolder(olFolderInbox).Items.Find("[Subject]=""My Email""") If TypeName(myItem) <> "Nothing" Then If myItem.Attachments.Count > 0 Then Set myAttachment = myItem.Attachments.Item(5) myAttachment.SaveAsFile "C:\My Documents\" & myAttachment.DisplayName End If End If​
בקוד הוא ניגש ל-MAIL ש-SUBJECT שלו הוא MY EMAIL ושומר את ה-ATTACHMENT החמישי.
 
למעלה