2016-11-03 9 views
0

Word 2016を使用していますが、オブジェクトからデータを取得できません。Word Interopでデータが抽出されない

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を見れば、私は、段落のテキストを取得することです。私のバージョンでそれをやろうとすると、[段落]の式に[]でインデックスを付けることができません。

だからパラグラフは私が期待しているものを返していません。メソッドがロードされる前に起動しているので、ドキュメントにアクセスできない可能性はありますか?

+0

最初のエラーは、デバッガの制限です。あなたは何をしたいのか説明できますか?パラグラフ内にテキストが含まれているのを確認できますか? –

+0

私の長期目標は、文書を番号付きリストで区切ることですが、私はこの時点でデータにアクセスしようとしています。デバッガが取得されてもデータを見ることができないことを示唆していますか? – SeanVDH

答えて

0

明らかに、呼び出されたメソッド/プロパティだけがクラス内に存在します。それはオブジェクトが膨大な量のデータを絶えず読み込まないようにするので意味がありますが、デバッグするのはちょっと混乱していました。

いずれにしても、テストをdoc.Paragraphs [1] .Range.Textに変更すると、オブジェクトが表示可能になっているようです。

関連する問題