J'ai cet avertissement:
Avertissement 3 Ambiguïté entre la méthode 'Microsoft.Office.Interop.Word._Application.Quit (objet ref, objet ref, objet ref)' et la méthode autre que Microsoft.Office.Interop.Word.ApplicationEvents4_Event.Quit. Utilisation du groupe de méthodes.
sur ma ligne
wordApplication.Quit();
J'ai essayé de le remplacer par:
wordApplication.Quit(false); // don't save changes
et
wordApplication.Quit(false, null, null); // no save, no format
mais il continue à me donner cet avertissement. Ce n'est pas un gros problème car le code est parfaitement compilé et fonctionne comme prévu, mais j'aimerais supprimer les avertissements. Que puis-je faire?
Convertissez explicitement la référence sur le type _Application
:
((_Application)wordApplication).Quit();
J'ai utilisé ça
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();
Cela signifie qu'il y a deux méthodes quit dans l'espace de noms inclus que vous pouvez, si vous préférez, changer quit en Microsoft.Office.Interop.Word._Application.Quit
pour supprimer le message ou (ne pas l'avoir personnellement essayé) utiliser une instruction using
.
Je crois que vous devez définir le type des paramètres à quitter. J'utilise ce qui suit, qui semble fonctionner.
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;