私は .NET 3.5、Visual Studio 2010 で作業しています。電子メールをフォルダーに保存する Outlook アドインを使用しています。Microsoft.Office.Interop.Outlook.MailItem.SaveAs
関数を使用して動作するようにしました。ただし、ファイルのプロパティには、変更日/作成日などとして現在の時刻 (ファイルがアドインを介してエクスポートされた時刻) のみがあり、To、From、CC、BCC などの他のプロパティはありません。
Windows エクスプローラー (私は Windows 7 を使用しています) でフォルダーを開くと、名前、変更日、タイプなどの上部に移動し、[その他] をクリックして、関連する可能性のある他のさまざまな列を表示できます。 「アルバムアーティスト」「To」「From」など
C# には、タイミングを変更する非常に簡単な方法がありFile.SetCreationTime(filename, DateTime object);
ます。ただし、.SetTo や .SetAlbumArtist などはありません。これらのプロパティを変更するにはどうすればよいですか?
更新 1:調査の結果、次のリンクが見つかりました: Read/Write 'Extended' file properties (C#)、答えが含まれている可能性があります...しかし、方法がわかりません。受け入れられた回答では、.dll を使用してシェルでメソッドを実行することが言及されています。2番目の回答にはC#コードが含まれており、コメント投稿者は基本的に知りたいこと(特定のファイルのプロパティを変更する方法)を尋ね、次のコメント投稿者は「これらを設定することはできません」と答えました...だから私はまだスクエア1です。
更新 2:次のことも試しました。
foreach (Object selectedObject in explorer.Selection)
{
Outlook.MailItem email = (selectedObject as Outlook.MailItem);
//Modify the information about the email
email.To = "I filled in To";
email.SaveAs(filename, OlSaveAsType.olMSG);
}
このコードは、選択した電子メールを正常に取得し、ファイル名で保存します。ただし、email.To = "To を入力しました" は、.msg を開いたときに情報を変更しますが、ファイルのプロパティは変更しません。