1

ファイルを作成し、添付ファイルとして電子メールで送信してから、JScriptを使用してファイルを削除したいと思います。

問題は、ファイルの削除が早すぎると、Outlookがファイルを電子メールに添付できなくなるという事実にあります。

MailItemを作成し、次のコードのようなもので表示します。メールは自動的に送信されませんが、ユーザーが必要に応じて編集できるように表示されます。

var outlook = new ActiveXObject("Outlook.Application");
var msg = outlook.CreateItem(0);
msg.Recipients.Add(toAddress);
msg.Subject = subject;
msg.htmlbody = body;
msg.Attachments.Add(attachment);
msg.Display();

私の質問は、添付ファイルを削除しても安全なのはいつですか?MailItemにイベントがあることは知っていますが、AttachmentAddイベントで添付ファイルを削除できる可能性があります。ただし、AFAIKでは、JScriptでActiveXObjectイベントをサブスクライブする方法はありません。

私の考え:

  • Attachments.Addが同期している場合(またはDisplayがすべての添付ファイルが読み取られるまで待機している場合)、ファイルをすぐに削除できます。
  • x秒間スリープしてから、ファイルを削除できます。
  • たぶん、イベントを購読する方法がありますが、私はそれを見つけていません。

詳細:

このスクリプトは、すべての目的と目的で、wscriptで実行されます。

これは、Outlookのバージョンに固有のものではありません。どのバージョンでも動作するはずです。

また、他のいくつかのファイルをメールに添付します。

ご不明な点がございましたら、お気軽にお問い合わせください。

4

1 に答える 1

0

次のコードを試してみましたが、うまくいきました。

var fso = new ActiveXObject("Scripting.FileSystemObject");

var outlook = new ActiveXObject("Outlook.Application");
var msg = outlook.CreateItem(0);
msg.Subject = "Subject";
msg.Body = "Body";
msg.Attachments.Add(file);
fso.DeleteFile(file); // No problems.
msg.Display();

ドキュメントのどこにも言及されていませんが、Attachments.Add()同期しているようです。

于 2012-04-27T15:35:21.467 に答える