2016-04-13 1 views
0

を輸出しています:私は知りたい何ドキュメント・セクション

Range.InsertBreak(WdBreakType.wdSectionBreakNextPage); 

を行う方法であり、私は、個別に各セクションを参照してください - ので、私が代わりにこれを行うための、セクションごとに異なるヘッダーを設定することができます。

foreach (Section section in aDoc.Sections) 
      { 
       //Get the header range and add the header details. 
       var headerRange = section.Headers[WdHeaderFooterIndex.wdHeaderFooterPrimary].Range; 
       headerRange.Fields.Add(headerRange, WdFieldType.wdFieldPage); 
       headerRange.ParagraphFormat.Alignment = WdParagraphAlignment.wdAlignParagraphLeft; 
       headerRange.Font.ColorIndex = WdColorIndex.wdBlack; 
       headerRange.Font.Size = 14; 
       headerRange.Font.Name = "Arial"; 
       headerRange.Font.Bold = 1; 
       headerRange.Text = Some Header Here; 
       headerRange.ParagraphFormat.Alignment = Microsoft.Office.Interop.Word.WdParagraphAlignment.wdAlignParagraphCenter; 
      } 

これは「ここではいくつかのヘッダー」へのすべてのヘッダーを設定しているので

答えて

1

、新しいセクションがWord文書で生成されたときに、プロパティLinkToPreviousはTrueに設定されているを書き込むことができます。これは、新しいセクションが前のセクションのヘッダーとフッターを "継承"することを意味します。

各セクションで異なるヘッダー/フッターの内容を使用するには、LinkToPreviousをFalseに設定する必要があります。これは、セクションを作成するとき、またはそれ以降のいつでも行うことができますが、の前にの前にヘッダー/フッターに書き込むことができます。 の後にリンクが壊れた場合、ヘッダー/フッターにコンテンツが含まれていると、そのコンテンツは失われます(ただし、セクションがリンクされている「親」ヘッダー/フッターに残ります)。

だから、個々のセクションに対処リンクを削除し、次のことができ、そのヘッダーにコンテンツを書き込む:

Word.Section sec = doc.Sections[indexValue] 
Word.HeaderFooter hf = sec.Headers[Word.WdHeaderFooterIndex.wdHeaderFooterPrimary]; 
hf.LinkToPrevious = false; 
hf.Range.Text = "Content for this header"; 

注:それらが異なる与えるために、リストにセクションを作成する必要はありませんコンテンツ。

+0

あなたの応答をありがとう、私はPCにいるときに私は明日これを試してみます:) – Krono

0

Sectionsプロパティは、型指定されていないIEnumerableにすぎないので、次の操作を実行して、そこからセクションの型付きリストを作成できます。これが機能するには、System.LinqSystem.Collections.Genericの名前空間をインポートする必要があることに注意してください。あなたが特定のセクションのヘッダーを設定する必要がある場合は

List<Section> sections = new List<Section>(aDoc.Sections.Cast<Sections>()); 

さて、あなたはデフォルトで

Section section1 = sections[0]; 
var section1HeaderRange = section1.Headers[WdHeaderFooterIndex.wdHeaderFooterPrimary].Range; 
section1HeaderRange.Text = "Section 1 Header"; 

Section section2 = sections[1]; 
var section2HeaderRange = section2.Headers[WdHeaderFooterIndex.wdHeaderFooterPrimary].Range; 
section2HeaderRange.Text = "Section 2 Header"; 
+0

ご回答いただきありがとうございます。 - 私は今PCではないとして私はそれをしようとすることはできませんし、数日のためになることはありません。私がするときに更新されます:) – Krono

関連する問題