![]() |
If this is your first visit, be sure to check out the FAQ by clicking the link above. You may have to register before you can post: click the register link above to proceed. To start viewing messages, select the forum that you want to visit from the selection below. |
|
|
|
Thread Tools | Search this Thread | Display Modes |
#1
|
|||
|
|||
![]()
hi, all
I am working on attachment. I don't know how to get the location of a sending email' attachment. I want to do some operation before the email be sent. is "Source Property" works? but when i use it like this "objMailItem.attachments.Source" or "objMailItem.attachments.item(1).source", it seems wrong. pathName property seem work, but when i check the mail attachment item, pathName is null. i need help. thanks. |
Ads |
#2
|
|||
|
|||
![]()
A file attached to a message is contained in that message, in the Attachments
collection. Outlook neither knows nor cares about the original location of the file, which may no longer even exist. If you want to do some work on that file, you need to save it to the local drive using the Attachment.SaveAsFile method. You can then modify the file, remove the original attachment, and add the new version. -- Sue Mosher, Outlook MVP Author of Microsoft Outlook 2007 Programming: Jumpstart for Power Users and Administrators http://www.outlookcode.com/article.aspx?id=54 "sophie" wrote: hi, all I am working on attachment. I don't know how to get the location of a sending email' attachment. I want to do some operation before the email be sent. is "Source Property" works? but when i use it like this "objMailItem.attachments.Source" or "objMailItem.attachments.item(1).source", it seems wrong. pathName property seem work, but when i check the mail attachment item, pathName is null. i need help. thanks. |
#3
|
|||
|
|||
![]()
Thanks sue.
I will try in this way. "Sue Mosher [MVP-Outlook]" wrote: A file attached to a message is contained in that message, in the Attachments collection. Outlook neither knows nor cares about the original location of the file, which may no longer even exist. If you want to do some work on that file, you need to save it to the local drive using the Attachment.SaveAsFile method. You can then modify the file, remove the original attachment, and add the new version. -- Sue Mosher, Outlook MVP Author of Microsoft Outlook 2007 Programming: Jumpstart for Power Users and Administrators http://www.outlookcode.com/article.aspx?id=54 "sophie" wrote: hi, all I am working on attachment. I don't know how to get the location of a sending email' attachment. I want to do some operation before the email be sent. is "Source Property" works? but when i use it like this "objMailItem.attachments.Source" or "objMailItem.attachments.item(1).source", it seems wrong. pathName property seem work, but when i check the mail attachment item, pathName is null. i need help. thanks. |
#4
|
|||
|
|||
![]()
Hi Sue,
The SaveAsFile method works for normail emails. However, when I try to execute this method on inline attachments (namely, images), I get the following error: "Cannot save the attachment. Cannot add the attachment; no data source was provided." Could you shed some light on why this is so, and how can I overcome it? Many thanks in advance. "Sue Mosher [MVP-Outlook]" wrote: A file attached to a message is contained in that message, in the Attachments collection. Outlook neither knows nor cares about the original location of the file, which may no longer even exist. If you want to do some work on that file, you need to save it to the local drive using the Attachment.SaveAsFile method. You can then modify the file, remove the original attachment, and add the new version. -- Sue Mosher, Outlook MVP Author of Microsoft Outlook 2007 Programming: Jumpstart for Power Users and Administrators http://www.outlookcode.com/article.aspx?id=54 "sophie" wrote: hi, all I am working on attachment. I don't know how to get the location of a sending email' attachment. I want to do some operation before the email be sent. is "Source Property" works? but when i use it like this "objMailItem.attachments.Source" or "objMailItem.attachments.item(1).source", it seems wrong. pathName property seem work, but when i check the mail attachment item, pathName is null. i need help. thanks. |
#5
|
|||
|
|||
![]()
Sue's not available.
In that case there is nothing to go on for Outlook and most likely the Attachment fields such as PR_ATTACH_FILENAME and such are blank. Are these images or embedded Outlook objects? In any case about all you could do on a low level would be to try to extract the attachment binary data and save that out but you wouldn't know the file type or correct file format so that wouldn't do much good at all. -- Ken Slovak [MVP - Outlook] http://www.slovaktech.com Author: Professional Programming Outlook 2007. Reminder Manager, Extended Reminders, Attachment Options. http://www.slovaktech.com/products.htm "khai" wrote in message ... Hi Sue, The SaveAsFile method works for normail emails. However, when I try to execute this method on inline attachments (namely, images), I get the following error: "Cannot save the attachment. Cannot add the attachment; no data source was provided." Could you shed some light on why this is so, and how can I overcome it? Many thanks in advance. |
#6
|
|||
|
|||
![]()
They are actually inline images. When I try to get the Type, it returns
olByValue. I realise that I encounter this problem if I use Word 2003 to edit the email messages (i.e. checkbox found under Tools - Options - Mail Format - Message Format). Is there a work around, to ensure that inline images will be saved correctly even if Word 2003 is chosen as the editor? "Ken Slovak - [MVP - Outlook]" wrote: Sue's not available. In that case there is nothing to go on for Outlook and most likely the Attachment fields such as PR_ATTACH_FILENAME and such are blank. Are these images or embedded Outlook objects? In any case about all you could do on a low level would be to try to extract the attachment binary data and save that out but you wouldn't know the file type or correct file format so that wouldn't do much good at all. -- Ken Slovak [MVP - Outlook] http://www.slovaktech.com Author: Professional Programming Outlook 2007. Reminder Manager, Extended Reminders, Attachment Options. http://www.slovaktech.com/products.htm "khai" wrote in message ... Hi Sue, The SaveAsFile method works for normail emails. However, when I try to execute this method on inline attachments (namely, images), I get the following error: "Cannot save the attachment. Cannot add the attachment; no data source was provided." Could you shed some light on why this is so, and how can I overcome it? Many thanks in advance. |
#7
|
|||
|
|||
![]()
Not really other than not using inline images.
-- Ken Slovak [MVP - Outlook] http://www.slovaktech.com Author: Professional Programming Outlook 2007. Reminder Manager, Extended Reminders, Attachment Options. http://www.slovaktech.com/products.htm "khai" wrote in message ... They are actually inline images. When I try to get the Type, it returns olByValue. I realise that I encounter this problem if I use Word 2003 to edit the messages (i.e. checkbox found under Tools - Options - Mail Format - Message Format). Is there a work around, to ensure that inline images will be saved correctly even if Word 2003 is chosen as the editor? |
#8
|
|||
|
|||
![]()
Im still stuck on this problem. It is definitely not possible to force users
to not use inline images as it would be an "un-friendly restriction" to impose on the users. I have found out that if Word is being used as the editor, the filename of the attachment is automatically converted to something else i.e. image001.jpg, as compared to the actual name of the file when Word is not being used as the editor. Could this be the reason why the "Cannot save attachment. Cannot add attachment; no data source was provided" error was returned? "Ken Slovak - [MVP - Outlook]" wrote: Not really other than not using inline images. -- Ken Slovak [MVP - Outlook] http://www.slovaktech.com Author: Professional Programming Outlook 2007. Reminder Manager, Extended Reminders, Attachment Options. http://www.slovaktech.com/products.htm "khai" wrote in message ... They are actually inline images. When I try to get the Type, it returns olByValue. I realise that I encounter this problem if I use Word 2003 to edit the messages (i.e. checkbox found under Tools - Options - Mail Format - Message Format). Is there a work around, to ensure that inline images will be saved correctly even if Word 2003 is chosen as the editor? |
#9
|
|||
|
|||
![]()
Using the Outlook object model, except in Outlook 2007, won't allow you to
do what you want. Even in Outlook 2007 if the data for the image is larger than about 8KB you can't do what you want. You would need to use a lower level API such as Extended MAPI (C++ or Delphi only), or a MAPI wrapper such as Redemption (www.dimastr.com/redemption). If you use a lower level API you can get the attachments collection, which includes those embedded images. In that case you can get the attachment property PR_ATTACH_MIME_TAG and read something like "image/jpeg" and the property PR_ATTACH_EXTENSION and see something like ".jpg". You can use those to identify the image type. The file name is changed and you can't do anything about that. It will be something like PR_ATTACH_FILENAME = "image001.jpg". Once the image is embedded it loses all connection to the original image file. Then you'd get the binary data for the image file using the PT_BINARY property PR_ATTACH_DATA_BIN and read that array of bytes and save the byte array out to the file system with the name you got from PR_ATTACH_FILENAME. -- Ken Slovak [MVP - Outlook] http://www.slovaktech.com Author: Professional Programming Outlook 2007. Reminder Manager, Extended Reminders, Attachment Options. http://www.slovaktech.com/products.htm "khai" wrote in message ... Im still stuck on this problem. It is definitely not possible to force users to not use inline images as it would be an "un-friendly restriction" to impose on the users. I have found out that if Word is being used as the editor, the filename of the attachment is automatically converted to something else i.e. image001.jpg, as compared to the actual name of the file when Word is not being used as the editor. Could this be the reason why the "Cannot save attachment. Cannot add attachment; no data source was provided" error was returned? |
#10
|
|||
|
|||
![]()
Hi,
How exactly can I use the lower API method to get those properties? Is there a reference you can suggest? "Ken Slovak - [MVP - Outlook]" wrote: Using the Outlook object model, except in Outlook 2007, won't allow you to do what you want. Even in Outlook 2007 if the data for the image is larger than about 8KB you can't do what you want. You would need to use a lower level API such as Extended MAPI (C++ or Delphi only), or a MAPI wrapper such as Redemption (www.dimastr.com/redemption). If you use a lower level API you can get the attachments collection, which includes those embedded images. In that case you can get the attachment property PR_ATTACH_MIME_TAG and read something like "image/jpeg" and the property PR_ATTACH_EXTENSION and see something like ".jpg". You can use those to identify the image type. The file name is changed and you can't do anything about that. It will be something like PR_ATTACH_FILENAME = "image001.jpg". Once the image is embedded it loses all connection to the original image file. Then you'd get the binary data for the image file using the PT_BINARY property PR_ATTACH_DATA_BIN and read that array of bytes and save the byte array out to the file system with the name you got from PR_ATTACH_FILENAME. -- Ken Slovak [MVP - Outlook] http://www.slovaktech.com Author: Professional Programming Outlook 2007. Reminder Manager, Extended Reminders, Attachment Options. http://www.slovaktech.com/products.htm "khai" wrote in message ... Im still stuck on this problem. It is definitely not possible to force users to not use inline images as it would be an "un-friendly restriction" to impose on the users. I have found out that if Word is being used as the editor, the filename of the attachment is automatically converted to something else i.e. image001.jpg, as compared to the actual name of the file when Word is not being used as the editor. Could this be the reason why the "Cannot save attachment. Cannot add attachment; no data source was provided" error was returned? |
|
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Thread Starter | Forum | Replies | Last Post |
Outlook attachment location | andyoye | Outlook - General Queries | 0 | July 10th 08 02:10 PM |
default location attachment outlook 2000 | Ramon Niese | Outlook - General Queries | 5 | February 28th 07 01:30 PM |
how to change the location of saving attachment permanenntly | Mohammad | Outlook - Installation | 1 | January 26th 07 10:18 PM |
location of edited Outlook Express attachment | [email protected] | Outlook Express | 13 | September 23rd 06 02:55 AM |
Save Attachment Default Location | Ken | Outlook Express | 4 | July 27th 06 10:11 PM |