Der Word-VBA-Makro, den ich in C# umwandelt, hat die folgende Zeile. Ich verwende sehr spezifisch die Close()
Methode auf dem Document
Objekt. Ich habe keine Frage gefunden, die meine Frage genau beantwortet. Es gibt ähnliche Fragen, wie diese: Compile time warning when using 'Microsoft.Office.Interop.Word._Document.Close'C# -Mehrdeutigkeitsfehler bei Document.Close() beim Konvertieren von VBA-Makro in C#
Aber mit Blick auf es war ich nicht in der Lage, herauszufinden, die genaue Besetzung, die ich verwenden muss.
ActiveDocument.Close wdDoNotSaveChanges
I umgewandelt, dies zu C# wie folgt aus:
using Microsoft.Office;
using Microsoft.Office.Interop;
using Word = Microsoft.Office.Interop.Word;
Object oMissing = System.Reflection.Missing.Value;
Word.Document oWordDoc = new Word.Document();
oWordDoc.Close(Word.WdSaveOptions.wdDoNotSaveChanges, oMissing, oMissing);
jedoch in der letzten Zeile ich folgende Zweideutigkeit Fehler:
Ambiguity between method 'Microsoft.Office.Interop.Word._Document.Close(ref object, ref object, ref object)' and non-method 'Microsoft.Office.Interop.Word.DocumentEvents2_Event.Close'. Using method group.
Natürlich kann ich nicht benennen Sie die Close
Methode von Word (ich denke), also habe ich versucht, meine oWordDoc
zu werfen, aber nichts scheint zu funktionieren.
Kann jemand etwas Licht darauf werfen, wie man das richtig macht? Vielen Dank.
Ja, ich versuchte dies: '(Microsoft.Office.Interop.Word._Document) oWordDoc.Close (Word.WdSaveOptions.wdDoNotSaveChanges, oMissing, oMissing);' Aber es gibt einen Compiler-Fehler: **“ Der Typ 'void' kann nicht in 'Microsoft.Office.Interop.Word._Document' konvertiert werden. "** – ib11
Siehe aktualisierte Antwort. – niksofteng
@nikhilvartak Bitte entweder einen Kommentar mit einem Vorschlag hinterlassen, der SLaks bittet, die Änderung einzufügen, oder sie als Ihre Antwort zu veröffentlichen - Sie sollten nicht in Lösungen zu anderen Antworten bearbeiten (obwohl Sie versuchen zu helfen, und es ist wahrscheinlich richtig!) – Rob