私はこの警告があります:
警告3メソッド 'Microsoft.Office.Interop.Word._Application.Quit(ref object、ref object、ref object)'と非メソッド 'Microsoft.Office.Interop.Word.ApplicationEvents4_Event.Quit'のあいまいさ。メソッドグループを使用します。
私の線で
wordApplication.Quit();
私はそれを次のものに置き換えてみました:
wordApplication.Quit(false); // don't save changes
そして
wordApplication.Quit(false, null, null); // no save, no format
しかし、それは私にこの警告を与え続けます。コードは完全にコンパイルされ、期待どおりに機能するので、大きな問題ではありませんが、警告は表示しません。私に何ができる?
参照を型_Application
に明示的にキャストします。
((_Application)wordApplication).Quit();
これを使った
object oMissing = System.Reflection.Missing.Value;
((Microsoft.Office.Interop.Word._Application)wordApp).Quit(ref oMissing, ref oMissing, ref oMissing);
wordApp = null;
GC.Collect();
GC.WaitForPendingFinalizers();
含まれている名前空間にquitメソッドが2つあるといいます。quitをMicrosoft.Office.Interop.Word._Application.Quit
に変更してメッセージを削除するか、(個人的にこれを試したことがない)using
ステートメントを使用します。
終了するパラメータのタイプを定義する必要があると思います。私は次のようにしていますが、うまくいくようです。
using Microsoft.Office.Interop.Word;
...
Application wordApplication = new Application();
...
object paramMissing = Type.Missing;
object saveOptionsObject = Microsoft.Office.Interop.Word.WdSaveOptions.wdDoNotSaveChanges;
wordApplication.Quit(ref saveOptionsObject, ref paramMissing, ref paramMissing);
wordApplication = null;