5

ファイル システムからのファイル、Outlook からの電子メール、または Outlook からの添付ファイルをドラッグ アンド ドロップし、後で SharePoint にアップロードするためにコードがこれらをファイル システム フォルダーに保存するアプリケーションがあります。

これは、FileContentsが nullである電子メール (つまり、電子メールに埋め込まれた MSG の電子メール添付ファイル) である添付ファイルの内容を識別する必要がある場合を除いて、すべて問題ありません。電子メールの内容にアクセスして .msg ファイルとして保存する方法はありますか?

次のコード スニペットは、MemoryStream電子メールではなく、電子メール タイプに対して null である添付ファイルに対して正しく作成します。

void DoDrop(object sender, DragEventArgs e)
{
    var memoryStream = (MemoryStream) eventArgs.Data.GetData("FileContents", true);
}
4

2 に答える 2

0

この動作を再現できません。上記のサンプル コードを使用しましたが、埋め込まれた MSG をエクスプローラーのプレビュー ペインまたはインスペクター ウィンドウから完全にドラッグできます。埋め込まれた MSG に関して、あなたが私たちと共有していないものがあるに違いありません。アタッチメントの種類は

また、Outlook Drag-n-Drop の CodeProject サンプルを確認することをお勧めします。サンプル コードでは、複数のアイテムがアプリケーションにドロップされた場合は考慮されません。ユーザーが (2) 添付ファイル、(3) メール、(5) ファイルなどを選択した場合にのみ、最初のアイテムが取得されます。

于 2012-06-13T14:53:08.753 に答える
0

Outlookからの電子メールを含むドラッグアンドドロップ操作を処理するvb.netの拡張リストボックスコントロールがあります。元の投稿で指摘したのと同じ問題があります。埋め込まれた .msg ファイルで構成される添付ファイルをドロップすると、GetData は null の FileContents を返します。とりあえず、デスクトップに添付ファイルをドロップしてからアプリケーションにドラッグするようにユーザーにメッセージを表示するだけです。これは、Windows OS がデータを抽出して .msg ファイルとして保存する処理を行うため (それ自体で正しくドラッグ アンド ドロップします)、機能しているようです。

これを行う方法に関するいくつかの c# の例も見つけましたが、vb.net でそれらを再作成することに失敗しました。最も役に立ったのは codeproject.com で、2008 年 7 月 28 日の David Ewen による「C# での Outlook ドラッグ アンド ドロップ」と呼ばれるものでした。複数の添付ファイルと Outlook メッセージの添付ファイルの両方を扱います。C# で書かれているので、何かの役に立つかもしれません。

質問することでルールを破っていることは承知していますが、私が提供するものよりも優れた解決策を見つけた場合は、興味があります.

于 2013-09-12T21:35:33.873 に答える