我將轉換爲C#的Word VBA宏具有以下行。 我非常特別在Document
對象上使用Close()
方法。我還沒有發現任何問題可以完全回答我的問題。有相似問題,如這一個:Compile time warning when using 'Microsoft.Office.Interop.Word._Document.Close'將VBA宏轉換爲C時Document.Close()上的C#歧義錯誤#
但看着它,我無法弄清楚我必須使用的確切演員。
ActiveDocument.Close wdDoNotSaveChanges
我轉換這對C#這樣的:
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);
在最後一行我得到下面的模糊誤差
但是:
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.
很明顯,我不能重新命名Close
Word的方法(我猜),所以我試圖投我的oWordDoc
,但似乎沒有任何工作。
有人可以解釋一下如何做到這一點嗎?謝謝。
是啊,我想這樣的:'(Microsoft.Office.Interop.Word._Document)oWordDoc.Close(Word.WdSaveOptions.wdDoNotSaveChanges,oMissing,oMissing);'但是它給出了一個編譯器錯誤:**」無法將類型'void'轉換爲'Microsoft.Office.Interop.Word._Document'「** – ib11
查看更新後的答案。 – niksofteng
@nikhilvartak請留下評論,建議讓SLaks包含更改,或將其作爲您的答案發布 - 您不應該編輯其他答案的解決方案(即使您嘗試提供幫助,這很可能是正確的! ) – Rob