2016-11-10 2 views
0
try 
{ 
    Microsoft.Office.Interop.Word.Application WordObj = System.Runtime.InteropServices.Marshal.GetActiveObject("Word.Application") as Microsoft.Office.Interop.Word.Application; 
    Office.CustomXMLParts currClassification = WordObj.ActiveDocument.CustomXMLParts; 
} 
catch(Exception ex) 
{ 
    //I am getting, This command is not available because no document is open. this error here. 
} 

を取得中に開いているドキュメントがないので、私はこのエラーを取得しています使用できません。このコマンドは、私は上記のコード使用していた場合、アクティブなドキュメントに

This command is not available because no document is open.

よろしく

+0

にアクセスし、あなたの問題は何ですか?するには、次のコードを使用してみてくださいエラーメッセージに何か不明な点がありますか? – arrowd

+0

実際には文書はすでに開いていますが、その文書のメタデータに格納されている情報を取得するだけです。 –

+0

申し訳ありませんが、私は新しいインスタンスを作成していない、私は最初の行に単語の現在アクティブなインスタンスをフェッチしています。 –

答えて

2

実際にあなたがしようとしていますWordアプリケーションで文書が開いていないときにアクティブな文書にアクセスすると、エラーが発生します。 あなたのワードアプリケーションは開いていますが、文書が開かれていません。つまり、画像のようにワードアプリケーションのホーム画面にいます。

enter image description here

アプリケーションで開いているドキュメントがあるかどうかを確認してからのActiveDocument

if(WordObj.Documents.Count >= 1) 
関連する問題