2011-11-15 43 views
2

フッターとヘッダーにイメージを持つ.docxファイルがあります。どのように画像を取得し、フッターにあり、ヘッダーにあるのか知っていますか?Cでの.docxファイルのヘッダーとフッターからイメージを取得する

私が使用してみました:

Microsoft.Office.Interop.Word.Range range = section.Footers[Microsoft.Office.Interop.Word.WdHeaderFooterIndex.wdHeaderFooterFirstPage].Range; 

を私は有用であろう任意のプロパティを参照することはできません。

答えて

2

(Rangeオブジェクトのhttp://msdn.microsoft.com/en-us/library/microsoft.office.interop.word.inlineshapes(v=office.11).aspx)プロパティをInlineShapesを見てみましょう。それはInlineShapeのコレクション(http://msdn.microsoft.com/en-us/library/microsoft.office.interop.word.inlineshape(v=office.11).aspx)オブジェクトです。アンインラインオブジェクトは、オブジェクトのいくつかのタイプのいずれかとすることができる、そしてあなたはそれがである1チェックできますTypeプロパティ(http://msdn.microsoft.com/en-us/library/microsoft.office.interop.word.inlineshape.type(v=office.11).aspx

にアクセスする(これは、ほぼ2年間、これは頼まれたされているので、私は著者が解決策を見つけた願って、私は他の誰が、これは役に立つかもしれません場合には、これを追加)。

0

方法1:

foreach(Microsoft.Office.Interop.Word.Shape Headershape in OHeader.Shapes) 
         { 
          InlineShape inlineshape = Headershape.ConvertToInlineShape(); 
          Range PictureRange = inlineshape.Range; 
          inlineshape.Delete(); 
          PictureRange.InlineShapes.AddPicture(m_sLogoPath); 
         } 

ウェイ:2

foreach (InlineShape shape in OHeader.Range.InlineShapes) 
          { 
           if (shape.Type == Microsoft.Office.Interop.Word.WdInlineShapeType.wdInlineShapePicture) 
           { 
            shape.Delete(); 
            oSection.Headers[WdHeaderFooterIndex.wdHeaderFooterPrimary].Range.InlineShapes.AddPicture(m_sLogoPath); 
           } 
          } 
+0

'VARのapplicationWord =新しいMicrosoft.Office.Interop.Word.Application(); adoc = applicationWord.Documents.Open(ref ofileName); foreach(セクション内のセクションoSection) foreach(ヘッダーフッタのOHeader in oSection.Headers) ' –

+0

'Range PictureRange = Headershape.Anchor; Headershape.Delete(); PictureRange.InlineShapes.AddPicture(m_sLogoPath); ' –

0
var applicationWord = new Microsoft.Office.Interop.Word.Application(); 
adoc = applicationWord.Documents.Open(ref ofileName); 
foreach (Section oSection in adoc.Sections) 
{ 
    foreach (HeaderFooter OHeader in oSection.Headers) 
    { 
     foreach(Microsoft.Office.Interop.Word.Shape Headershape in OHeader.Shapes) 
     { 
      Headershape.Delete(); 
      OHeader.Shapes.AddPicture(m_sLogoPath); 
     } 
    } 
} 

参考:Word Automation Basics

関連する問題