2016-11-03 23 views
0

我正在使用Word 2016,並且無法從對象獲取數據。字互操作不提取數據

我的片段是這樣:

void Application_DocumentOpen(Word.Document document) 
    { 
     var test = document.Paragraphs; 
    } 

前看着段分配給:

評價方法Microsoft.Office.Interop.Word.DocumentClass.get_Paragraphs()調用需要一個COM調用。在這種情況下不支持對COM對象的方法進行評估。

後,它只是給出:System._ComObject用具有0x0df4fd18

我試圖尋找這兩個錯誤,但沒有發現相關結果的成員NativeView。

UPDATE 所以我比較這對他們給出的例子,那就是:

void Application_DocumentBeforeSave(Word.Document Doc, ref bool SaveAsUI, ref bool Cancel) 
    { 
     Doc.Paragraphs[1].Range.InsertParagraphBefore(); 
     Doc.Paragraphs[1].Range.Text = "This text was added by using code."; 
    } 

什麼是整齊的是,如果我看Doc.Paragraphs[1].Range.Text爲他們的榜樣,我得到了段落的文字。如果我試圖用我的版本做到這一點,我得到:不能用[]對'Paragraphs'類型的表達式應用索引

所以......段落沒有返回我期望的結果。由於方法在加載之前觸發,是否有可能無法訪問文檔?

+0

您的第一個錯誤是調試器的限制。你能解釋一下你想做什麼嗎?能夠看到段落中包含的文字? –

+0

我的長期目標是通過編號列表對文檔進行分段,但我只是試圖在此處訪問數據。您是否暗示調試器即使已被收購也無法看到數據? – SeanVDH

回答

0

顯然只有已調用的方法/屬性存在於類中。這是有道理的,因爲它可以防止對象不斷加載大量數據,但調試有點令人困惑。

在任何情況下,將測試更改爲doc.Paragraphs [1] .Range.Text似乎已使對象可見。