前提・実現したいこと
C#,WPFでWord文書を作成するデスクトップアプリケーションを作成しています。
画像をWord文書に挿入したいのです。
発生している問題・エラーメッセージ
Microsoft.Office.Interop.Word名前空間の
InlineShapes.AddPicture()メソッドで実現できるらしいのですが、うまく利用できません。
具体的には以下のようなエラーになります。
1.AddPicture()自体が呼べない
using Word = Microsoft.Office.Interop.Word;
Word.InlineShapes.AddPicture(@"C:\SamplePicture.jpg");
エラーメッセージ 静的でないフィールド、メソッド、またはプロパティ 'InlineShapes.AddPicture(string, ref object, ref object, ref object)' で、オブジェクト参照が必要です
2.素人考えでInlineShapesクラスをnewしてみたところ、それもNG。
Word.InlineShapes inlineShapes = new Word.InlineShapes();
エラーメッセージ 抽象クラスまたはインターフェイス 'InlineShapes' のインスタンスを作成できません。
⇒調べてみたらインタフェースクラスでした。
該当のソースコード
C#(WPFアプリケーション)
1using Word = Microsoft.Office.Interop.Word; 2 3// Word アプリケーションオブジェクトを作成 4Word.Application word = new Word.Application(); 5// Word の GUI を起動しないようにする 6word.Visible = false; 7// 新規文書を作成 8Word.Document document = word.Documents.Add(); 9 10Word.InlineShapes.AddPicture(@"C:\SamplePicture.jpg"); 11
調べてみたこと
・メソッド、クラス周りのstatic修飾子を確認
⇒AddPicture()自体はstaticメソッドではない様子。
⇒利用元の自作クラス・メソッド側でstaticは使用していない。
補足情報
VisualStudio2015
Office2016インストール済み
NuGetで、Microsoft.Office.Interop.Wordをインストール済み。
参考にしたページ
https://msdn.microsoft.com/ja-jp/library/ms178792.aspx
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/03/22 03:59