バージョン

オブジェクト モデル アプローチで Word ドキュメントを作成

このトピックは、オブジェクト モデル アプローチを使用して Microsoft®Word® ドキュメントおよびレイアウト要素を作成する方法を説明します。

単純なWord ドキュメントの作成

Word ドキュメント全体は、 Document クラスでカプセル化されます。Document クラスはオブジェクト階層のルート レベルのエンティティで、この下にすべての他のオブジェクトがグループ化されています。また、パラグラフや表などのブロック レベルのコンテンツ用のコンテナーの役割を果たします。ブロック レベルのコンテンツは、 ContentBlocks コレクション内に含まれます。

ドキュメントの個々のパラグラフは、 Paragraph クラスでカプセル化されます。Paragraph クラスは、 ContentRuns コレクションを公開します。これはコンテンツをパラグラフに追加する方法を提供します。

Word ドキュメントを生成するには、Document クラスのインスタンスを作成し、公開されているプロパティとメソッドを使用して作業し、そして Save メソッドを呼び出します。

Author、Title、Subject などの Word ドキュメントのさまざまなプロパティは、 DocumentProperties プロパティを使用して設定できます。Office ボタンをクリックして、[準備] > [プロパティ] セクションを指定することによって、Word 2007 でこれらの情報にアクセスできます。Word 2010 で同様に、[ファイル] タブをクリックすることによって、Backstage ビューの右側からドキュメント プロパティにアクセスできます。

C# の場合:

using Infragistics.Documents.Word;
string documentName = @"C:\TestWordDOMDoc.docx";
Document doc = new Document();
// タイトル、著者などのドキュメント プロパティを設定します
doc.DocumentProperties.Title = "Sample Document";
doc.DocumentProperties.Author = string.Format("Infragistics.{0}", SystemInformation.UserName);
Infragistics.Documents.Word.Font font = doc.CreateFont();
font.Bold = true;
font.Size = 15;
font.Underline = Underline.Double;
// パラグラフをドキュメントに追加します
Paragraph para1 = doc.ContentBlocks.AddParagraph();
para1.ContentRuns.AddTextRun("Sample Word Document with Hyperlinks,Images,Headers and Footers", font);

Visual Basic の場合:

Imports Infragistics.Documents.Word
Dim documentName As String = "C:\TestWordDOMDoc.docx"
Dim doc As New Document()
'   タイトル、著者などのドキュメント プロパティを設定します
doc.DocumentProperties.Title = "Sample Document"
doc.DocumentProperties.Author = String.Format("Infragistics.{0}", SystemInformation.UserName)
Dim font As Infragistics.Documents.Word.Font = doc.CreateFont()
font.Bold = True
font.Size = 15
font.Underline = Underline.[Double]
' パラグラフをドキュメントに追加します
Dim para1 As Paragraph = doc.ContentBlocks.AddParagraph()
para1.ContentRuns.AddTextRun("Sample Word Document with Hyperlinks,Images,Headers and Footers", font)

Infragistics Word ライブラリはハイパーリンクをサポートします。 AddHyperlink メソッドは、TextHyperlink を関連付けられたパラグラフに追加します。

C# の場合:

using Infragistics.Documents.Word;
// パラグラフをドキュメントに追加します
Paragraph para2 = doc.ContentBlocks.AddParagraph();
para2.ContentRuns.AddTextRun("Hyper link:  ");
// ハイパーリンクを追加します
para2.ContentRuns.AddHyperlink("http://www.infragistics.com", "Infragistics Inc.");

Visual Basic の場合:

Imports Infragistics.Documents.Word
' パラグラフをドキュメントに追加します
Dim para2 As Paragraph = doc.ContentBlocks.AddParagraph()
para2.ContentRuns.AddTextRun("Hyper link:  ")
'   ハイパーリンクを追加します
para2.ContentRuns.AddHyperlink("http://www.infragistics.com", "Infragistics Inc.")

ピクチャの追加

アンカー固定した画像の追加

AnchoredPicture クラスは、ドキュメント内の固有の場所にアンカー固定される画像をカプセル化します。 AddAnchoredPicture メソッドは、アンカー固定された画像を関連付けられたパラグラフに追加します。

C# の場合:

using Infragistics.Documents.Word;
// 画像を取得します
Image img = Image.FromFile(@"..\..\Ballon_New_Year.jpg");
// パラグラフをドキュメントに追加します
Paragraph para3 = doc.ContentBlocks.AddParagraph();
para3.ContentRuns.AddTextRun("Anchored Picture: An Anchored picture or image is one that is anchored to a specific location within the document. Unlike an inline picture, which moves along with adjacent content, an Anchored Picture remains at a fixed location within the paragraph, with adjacent text flowing around it.");
// アンカー固定した画像を作成します
AnchoredPicture anchPic = doc.CreateAnchoredPicture(img);
// アンカー固定した画像の画像アウトライン プロパティを指定します
anchPic.AlternateTextDescription = "Word Image";
anchPic.Outline.Color = Color.Brown;
anchPic.Outline.Style = PictureOutlineStyle.Single;
anchPic.Outline.LineWidth = 1;
// アンカー固定した画像をパラグラフのアンカー セクションに追加します
para3.Anchors.AddAnchoredPicture(anchPic);

Visual Basic の場合:

Imports Infragistics.Documents.Word
' 画像を取得します
Dim img As Image = Image.FromFile("..\..\Ballon_New_Year.jpg")
' パラグラフをドキュメントに追加します
Dim para3 As Paragraph = doc.ContentBlocks.AddParagraph()
para3.ContentRuns.AddTextRun("Anchored Picture: An Anchored picture or image is one that is anchored to a specific location within the document. Unlike an inline picture, which moves along with adjacent content, an Anchored Picture remains at a fixed location within the paragraph, with adjacent text flowing around it.")
' アンカー固定した画像を作成します
Dim anchPic As AnchoredPicture = doc.CreateAnchoredPicture(img)
' アンカー固定した画像の画像アウトライン プロパティを指定します
anchPic.AlternateTextDescription = "Word Image"
anchPic.Outline.Color = Color.Brown
anchPic.Outline.Style = PictureOutlineStyle.[Single]
anchPic.Outline.LineWidth = 1
' アンカー固定した画像をパラグラフのアンカー セクションに追加します
para3.Anchors.AddAnchoredPicture(anchPic)

インライン画像の追加

InlinePicture クラスは、画像をカプセル化し、ドキュメント内のテキスト コンテンツと共にインライン表示します。 AddInlinePicture メソッドは、インライン画像を関連付けられたパラグラフに追加します。

C# の場合:

using Infragistics.Documents.Word;
// 画像を取得します
Image img = Image.FromFile(@"..\..\Ballon_New_Year.jpg");
// パラグラフをドキュメントに追加します
Paragraph para4 = doc.ContentBlocks.AddParagraph();
para4.ContentRuns.AddTextRun("Inline Picture: An inline picture moves with the adjacent content");
// インライン画像を作成します
InlinePicture inlinePic = doc.CreateInlinePicture(img);
inlinePic.AlternateTextDescription = "Word Image";
// インライン画像をパラグラフのコンテンツ セクションに追加します
para4.ContentRuns.AddInlinePicture(inlinePic);

Visual Basic の場合:

Imports Infragistics.Documents.Word
' 画像を取得します
Dim img As Image = Image.FromFile("..\..\Ballon_New_Year.jpg")
' パラグラフをドキュメントに追加します
Dim para4 As Paragraph = doc.ContentBlocks.AddParagraph()
para4.ContentRuns.AddTextRun("Inline Picture: An inline picture moves with the adjacent content")
' インライン画像を作成します
Dim inlinePic As InlinePicture = doc.CreateInlinePicture(img)
inlinePic.AlternateTextDescription = "Word Image"
' インライン画像をパラグラフのコンテンツ セクションに追加します
para4.ContentRuns.AddInlinePicture(inlinePic)

Section クラスは、改ページ プロパティおよびドキュメント セクションのヘッダー/フッター コンテンツをカプセル化します。

ヘッダーとフッターの設定

以下のコード例は、すべてのページのヘッダー セクションにテキストと画像を表示する方法を示します。

C# の場合:

using Infragistics.Documents.Word;
// パラグラフをドキュメントに追加します
Paragraph para5 = doc.ContentBlocks.AddParagraph();
// テキストをパラグラフに追加します
Section sec = doc.Sections.Add(para5);
// ヘッダー
Paragraph headerPara = sec.HeaderAllPages.ContentBlocks.AddParagraph();
// ヘッダー テキスト配置は、右に設定されます
headerPara.Properties.Alignment = ParagraphAlignment.Right;
// ヘッダーに表示するアンカー固定される画像を作成します
AnchoredPicture headeranchPic = doc.CreateAnchoredPicture(img);
// ヘッダーにアンカー固定された画像を表示します
headerPara.Anchors.AddAnchoredPicture(headeranchPic);
// ヘッダーにテキストを表示します
headerPara.ContentRuns.AddTextRun("This is a header");

Visual Basic の場合:

Imports Infragistics.Documents.Word
' パラグラフをドキュメントに追加します
Dim para5 As Paragraph = doc.ContentBlocks.AddParagraph()
' テキストをパラグラフに追加します
Dim sec As Section = doc.Sections.Add(para5)
' ヘッダー
Dim headerPara As Paragraph = sec.HeaderAllPages.ContentBlocks.AddParagraph()
' ヘッダー テキスト配置は、右に設定されます
headerPara.Properties.Alignment = ParagraphAlignment.Right
' ヘッダーに表示するアンカー固定される画像を作成します
Dim headeranchPic As AnchoredPicture = doc.CreateAnchoredPicture(img)
' ヘッダーにアンカー固定された画像を表示します
headerPara.Anchors.AddAnchoredPicture(headeranchPic)
' ヘッダーにテキストを表示します
headerPara.ContentRuns.AddTextRun("This is a header")

AddPageNumberField メソッドは、PageNumberField を関連付けられたパラグラフに追加します。

C# の場合:

using Infragistics.Documents.Word;
// パラグラフをドキュメントに追加します
Paragraph para5 = doc.ContentBlocks.AddParagraph();
// 指定されたパラグラフで改ページを定義するセクションを追加します
Section sec = doc.Sections.Add(para5);
//フッター
Paragraph footerPara = sec.FooterAllPages.ContentBlocks.AddParagraph();
// フッター テキスト配置は、右に設定されます
footerPara.Properties.Alignment = ParagraphAlignment.Right;
// フッターにテキストを表示します
footerPara.ContentRuns.AddTextRun("This is a footer");
// ページ番号をフッターに追加します
footerPara.ContentRuns.AddPageNumberField(PageNumberFieldFormat.Ordinal);

Visual Basic の場合:

Imports Infragistics.Documents.Word
' パラグラフをドキュメントに追加します
Dim para5 As Paragraph = doc.ContentBlocks.AddParagraph()
' 指定されたパラグラフで改ページを定義するセクションを追加します
Dim sec As Section = doc.Sections.Add(para5)
' フッター
Dim footerPara As Paragraph = sec.FooterAllPages.ContentBlocks.AddParagraph()
' フッター テキスト配置は、右に設定されます
footerPara.Properties.Alignment = ParagraphAlignment.Right
' フッターにテキストを表示します
footerPara.ContentRuns.AddTextRun("This is a footer")
' ページ番号をフッターに追加します
footerPara.ContentRuns.AddPageNumberField(PageNumberFieldFormat.Ordinal)

コード例:完全なコード例

以下は、このトピックの例で使用される完全なコードです。

C# の場合:

using Infragistics.Documents.Word;
string documentName = @"C:\TestWordDOMDoc.docx";
Document doc = new Document();
// タイトル、著者などのドキュメント プロパティを設定します
doc.DocumentProperties.Title = "Sample Document";
doc.DocumentProperties.Author = string.Format("Infragistics.{0}", SystemInformation.UserName);
Infragistics.Documents.Word.Font font = doc.CreateFont();
font.Bold = true;
font.Size = 15;
font.Underline = Underline.Double;
// パラグラフをドキュメントに追加します
Paragraph para1 = doc.ContentBlocks.AddParagraph();
para1.ContentRuns.AddTextRun("Sample Word Document with Hyperlinks,Images,Headers and Footers", font);
para1.ContentRuns.AddNewLine();
Paragraph para2 = doc.ContentBlocks.AddParagraph();
para2.ContentRuns.AddTextRun("Hyper link:  ");
// ハイパーリンクを追加します
para2.ContentRuns.AddHyperlink("http://www.infragistics.com", "Infragistics Inc.");
para2.ContentRuns.AddNewLine();
// 画像を取得します
Image img = Image.FromFile(@"..\..\Ballon_New_Year.jpg");
// パラグラフをドキュメントに追加します
Paragraph para3 = doc.ContentBlocks.AddParagraph();
para3.ContentRuns.AddTextRun("Anchored Picture: An Anchored picture or image is one that is anchored to a specific location within the document. Unlike an inline picture, which moves along with adjacent content, an Anchored Picture remains at a fixed location within the paragraph, with adjacent text flowing around it.");
// アンカー固定した画像を作成します
AnchoredPicture anchPic = doc.CreateAnchoredPicture(img);
// アンカー固定した画像の画像アウトライン プロパティを指定します
anchPic.AlternateTextDescription = "Word Image";
anchPic.Outline.Color = Color.Brown;
anchPic.Outline.Style = PictureOutlineStyle.Single;
anchPic.Outline.LineWidth = 1;
// アンカー固定した画像をパラグラフのアンカー セクションに追加します
para3.Anchors.AddAnchoredPicture(anchPic);
// パラグラフをドキュメントに追加します
Paragraph para4 = doc.ContentBlocks.AddParagraph();
para4.ContentRuns.AddTextRun("Inline Picture: An inline picture moves with the adjacent content");
// インライン画像を作成します
InlinePicture inlinePic = doc.CreateInlinePicture(img);
inlinePic.AlternateTextDescription = "Word Image";
// インライン画像をパラグラフのコンテンツ セクションに追加します
para4.ContentRuns.AddInlinePicture(inlinePic);
// パラグラフをドキュメントに追加します
Paragraph para5 = doc.ContentBlocks.AddParagraph();
// テキストをパラグラフに追加します
Section sec = doc.Sections.Add(para5);
// ヘッダー
Paragraph headerPara = sec.HeaderAllPages.ContentBlocks.AddParagraph();
// ヘッダー テキスト配置は、右に設定されます
headerPara.Properties.Alignment = ParagraphAlignment.Right;
// ヘッダーに表示するアンカー固定される画像を作成します
AnchoredPicture headeranchPic = doc.CreateAnchoredPicture(img);
// ヘッダーにアンカー固定された画像を表示します
headerPara.Anchors.AddAnchoredPicture(headeranchPic);
// ヘッダーにテキストを表示します
headerPara.ContentRuns.AddTextRun("This is a header");
//フッター
Paragraph footerPara = sec.FooterAllPages.ContentBlocks.AddParagraph();
// フッター テキスト配置は、右に設定されます
footerPara.Properties.Alignment = ParagraphAlignment.Right;
// フッターにテキストを表示します
footerPara.ContentRuns.AddTextRun("This is a footer");
// ページ番号をフッターに追加します
footerPara.ContentRuns.AddPageNumberField(PageNumberFieldFormat.Ordinal);
doc.Save(documentName);

Visual Basic の場合:

Imports Infragistics.Documents.Word
Dim documentName As String = "C:\TestWordDOMDoc.docx"
Dim doc As New Document()
'   タイトル、著者などのドキュメント プロパティを設定します
doc.DocumentProperties.Title = "Sample Document"
doc.DocumentProperties.Author = String.Format("Infragistics.{0}", SystemInformation.UserName)
Dim font As Infragistics.Documents.Word.Font = doc.CreateFont()
font.Bold = True
font.Size = 15
font.Underline = Underline.[Double]
' パラグラフをドキュメントに追加します
Dim para1 As Paragraph = doc.ContentBlocks.AddParagraph()
para1.ContentRuns.AddTextRun("Sample Word Document with Hyperlinks,Images,Headers and Footers", font)
para1.ContentRuns.AddNewLine()
Dim para2 As Paragraph = doc.ContentBlocks.AddParagraph()
para2.ContentRuns.AddTextRun("Hyper link:  ")
'   ハイパーリンクを追加します
para2.ContentRuns.AddHyperlink("http://www.infragistics.com", "Infragistics Inc.")
para2.ContentRuns.AddNewLine()
' 画像を取得します
Dim img As Image = Image.FromFile("..\..\Ballon_New_Year.jpg")
' パラグラフをドキュメントに追加します
Dim para3 As Paragraph = doc.ContentBlocks.AddParagraph()
para3.ContentRuns.AddTextRun("Anchored Picture: An Anchored picture or image is one that is anchored to a specific location within the document. Unlike an inline picture, which moves along with adjacent content, an Anchored Picture remains at a fixed location within the paragraph, with adjacent text flowing around it.")
' アンカー固定した画像を作成します
Dim anchPic As AnchoredPicture = doc.CreateAnchoredPicture(img)
' アンカー固定した画像の画像アウトライン プロパティを指定します
anchPic.AlternateTextDescription = "Word Image"
anchPic.Outline.Color = Color.Brown
anchPic.Outline.Style = PictureOutlineStyle.[Single]
anchPic.Outline.LineWidth = 1
' アンカー固定した画像をパラグラフのアンカー セクションに追加します
para3.Anchors.AddAnchoredPicture(anchPic)
' パラグラフをドキュメントに追加します
Dim para4 As Paragraph = doc.ContentBlocks.AddParagraph()
para4.ContentRuns.AddTextRun("Inline Picture: An inline picture moves with the adjacent content")
' インライン画像を作成します
Dim inlinePic As InlinePicture = doc.CreateInlinePicture(img)
inlinePic.AlternateTextDescription = "Word Image"
' インライン画像をパラグラフのコンテンツ セクションに追加します
para4.ContentRuns.AddInlinePicture(inlinePic)
' パラグラフをドキュメントに追加します
Dim para5 As Paragraph = doc.ContentBlocks.AddParagraph()
' テキストをパラグラフに追加します
Dim sec As Section = doc.Sections.Add(para5)
' ヘッダー
Dim headerPara As Paragraph = sec.HeaderAllPages.ContentBlocks.AddParagraph()
' ヘッダー テキスト配置は、右に設定されます
headerPara.Properties.Alignment = ParagraphAlignment.Right
' ヘッダーに表示するアンカー固定される画像を作成します
Dim headeranchPic As AnchoredPicture = doc.CreateAnchoredPicture(img)
' ヘッダーにアンカー固定された画像を表示します
headerPara.Anchors.AddAnchoredPicture(headeranchPic)
' ヘッダーにテキストを表示します
headerPara.ContentRuns.AddTextRun("This is a header")
' フッター
Dim footerPara As Paragraph = sec.FooterAllPages.ContentBlocks.AddParagraph()
' フッター テキスト配置は、右に設定されます
footerPara.Properties.Alignment = ParagraphAlignment.Right
' フッターにテキストを表示します
footerPara.ContentRuns.AddTextRun("This is a footer")
' ページ番号をフッターに追加します
footerPara.ContentRuns.AddPageNumberField(PageNumberFieldFormat.Ordinal)
doc.Save(documentName)