Word文書へのバージョン管理されたリンクを提供するWinFormsアプリケーションがあります。ユーザーがリンクをクリックすると、Word文書が開きます。私の要件は、Word文書を開き、変更を実行し、文書を保存して閉じ、変更が行われたことを検出し、新しいバージョンのコピーをデータベースにアップロードするときです。私は現在、次のことを行っているWinForms - Word文書を処理閉じるイベント
:それはうまく動作するはずのよう
ProcessStartInfo psi = new ProcessStartInfo(FilePath) { UseShellExecute = true };
Process process = Process.Start(psi);
process.EnableRaisingEvents = true;
process.Exited += process_Exited;
これはそうです、しかし、私はいくつかの問題に遭遇した:
- ユーザーを簡単にすることなく、実際のドキュメントを閉じることができますWordを終了すると、Exitedイベントは発生しません。
- 文書を開くためにリンクをクリックしたときにWordが既に開いている場合、Process.Startメソッドはnullを返します。
- 私のユーザーはWinFormsアプリケーションを閉じることができ、Word文書は開いたままにしておくことができます。ユーザーがアプリケーションを終了した後に変更を加える可能性があり、変更がデータベースに保存されないため、問題が発生する可能性があります。
希望の結果を得るために必要なオプションはありますか?誰も似たようなことをしたことがありますか?
ありがとうございました。
を作るために何であるかについての詳細を知っている必要があります
彼らは今のようなイベントを持っている場合、私は覚えてカント、それらをチェックする価値があるかもしれません。 – Machinarius