ファイルをMailItem.Attachmentsに追加する方法は分かっていますが、ファイルが添付ファイルに既に追加されているかどうかを確認するにはどうすればよいですか?MailItem添付ファイル - 既にファイルが添付されているかどうかを確認します。
たとえば、ファイル名は"C:\\myFolder\\myFile.txt"
です。このファイルが既に添付されているかどうかを確認するにはどうすればよいですか?新しい電子メールにファイルを二重に添付しないようにするには、これが必要です。ここで
は、私がこれまで持っているものです。
var mItem = Outlook.Interfaces.HostAddIn.Application.ActiveInspector().CurrentItem as MailItem;
if (mItem != null)
{
//this works fine but I need to check if already attached first like below
//mItem.Attachments.Add(localFilePath);
bool found = false;
string attachments = "";
for (int i = 1; i <= mItem.Attachments.Count; i++)
{
attachments +=
"DisplayName: " + mItem.Attachments[i].DisplayName //shows just myFile.txt, no path
+ "/FileName: " + mItem.Attachments[i].FileName //shows just myFile.txt, no path
+ "/PathName: " + mItem.Attachments[i].PathName; //shows ""
//I tried here PathName, FileName, DisplayName but all return just name, without the path
if (mItem.Attachments[i].PathName == localFilePath)
{
found = true;
}
}
if (!found)
{
mItem.Attachments.Add(localFilePath); //attach only if not already attached
}
}
ありがとうDmitry。パス+ファイル名だけをパス+ファイル名で確認する方法はありませんか?ファイルのパス+ fileNameを提供する添付ファイルにファイルを追加します。私はすでに添付ファイルから同じものを得ることができないと思います。 – pixel
いいえ、パス情報は参照によって添付されていない限り保存されません。 MAPIレベルでは、ファイルは再生されません。データはIStreamとしてPR_ATTACH_DATA_BINプロパティに入ります。 –
ありがとう、百万ドミトリー – pixel