方法: プログラムによって Document プロパティを Word の表に読み込む
次の例は、Microsoft Office Word の表を文書の先頭に作成し、その表にホスト ドキュメントのプロパティを挿入します。
対象: このトピックの情報は、Word 2013 と Word 2010 のドキュメント レベルのプロジェクトおよびアプリケーション レベルのプロジェクトに適用されます。詳細については、「Office アプリケーションおよびプロジェクト タイプ別の使用可能な機能」を参照してください。
ドキュメント レベルのカスタマイズの表へのデータ読み込み
表を作成し、文書のプロパティを挿入するには
範囲をドキュメントの先頭に設定します。
Dim rng As Word.Range = Me.Range(Start:=0, End:=0)
object start = 0, end = 0; Word.Range rng = this.Range(ref start, ref end);
表のタイトルを挿入し、段落記号を追加します。
With rng .InsertBefore("Document Statistics") .Font.Name = "Verdana" .Font.Size = 16 .InsertParagraphAfter() .InsertParagraphAfter() .SetRange(rng.End, rng.End) End With
rng.InsertBefore("Document Statistics"); rng.Font.Name = "Verdana"; rng.Font.Size = 16; rng.InsertParagraphAfter(); rng.InsertParagraphAfter(); rng.SetRange(rng.End, rng.End);
表を文書の範囲に追加します。
rng.Tables.Add(Range:=Me.Paragraphs.Item(2).Range, NumRows:=3, NumColumns:=2)
rng.Tables.Add(this.Paragraphs[2].Range, 3, 2, ref missing, ref missing);
表を書式設定し、スタイルを適用します。
With Me.Tables.Item(1) .Range.Font.Size = 12 .Columns.DistributeWidth() .Style = "Table Professional" End With
Word.Table tbl = this.Tables[1]; tbl.Range.Font.Size = 12; tbl.Columns.DistributeWidth(); object styleName = "Table Professional"; tbl.set_Style(ref styleName);
文書のプロパティをセルに挿入します。
With Me.Tables.Item(1) .Cell(1, 1).Range.Text = "Document Property" .Cell(1, 2).Range.Text = "Value" .Cell(2, 1).Range.Text = "Subject" .Cell(2, 2).Range.Text = CType(Me.BuiltInDocumentProperties, Office.DocumentProperties) _ (Word.WdBuiltInProperty.wdPropertySubject).Value.ToString() .Cell(3, 1).Range.Text = "Author" .Cell(3, 2).Range.Text = CType(Me.BuiltInDocumentProperties, Office.DocumentProperties) _ (Word.WdBuiltInProperty.wdPropertyAuthor).Value.ToString() End With
tbl.Cell(1, 1).Range.Text = "Document Property"; tbl.Cell(1, 2).Range.Text = "Value"; tbl.Cell(2, 1).Range.Text = "Subject"; tbl.Cell(2, 2).Range.Text = ((Office.DocumentProperties)(this.BuiltInDocumentProperties)) [Word.WdBuiltInProperty.wdPropertySubject].Value.ToString(); tbl.Cell(3, 1).Range.Text = "Author"; tbl.Cell(3, 2).Range.Text = ((Office.DocumentProperties)(this.BuiltInDocumentProperties)) [Word.WdBuiltInProperty.wdPropertyAuthor].Value.ToString();
完全なプロシージャの例を次に示します。このコードを使用するには、プロジェクトの ThisDocument クラスから実行します。
Private Sub CreateDocumentPropertyTable()
Dim rng As Word.Range = Me.Range(Start:=0, End:=0)
' Insert a title for the table and paragraph marks.
With rng
.InsertBefore("Document Statistics")
.Font.Name = "Verdana"
.Font.Size = 16
.InsertParagraphAfter()
.InsertParagraphAfter()
.SetRange(rng.End, rng.End)
End With
' Add the table.
rng.Tables.Add(Range:=Me.Paragraphs.Item(2).Range, NumRows:=3, NumColumns:=2)
' Format the table and apply a style.
With Me.Tables.Item(1)
.Range.Font.Size = 12
.Columns.DistributeWidth()
.Style = "Table Professional"
End With
' Insert document properties into cells.
With Me.Tables.Item(1)
.Cell(1, 1).Range.Text = "Document Property"
.Cell(1, 2).Range.Text = "Value"
.Cell(2, 1).Range.Text = "Subject"
.Cell(2, 2).Range.Text = CType(Me.BuiltInDocumentProperties, Office.DocumentProperties) _
(Word.WdBuiltInProperty.wdPropertySubject).Value.ToString()
.Cell(3, 1).Range.Text = "Author"
.Cell(3, 2).Range.Text = CType(Me.BuiltInDocumentProperties, Office.DocumentProperties) _
(Word.WdBuiltInProperty.wdPropertyAuthor).Value.ToString()
End With
End Sub
private void CreateDocumentPropertyTable()
{
object start = 0, end = 0;
Word.Range rng = this.Range(ref start, ref end);
// Insert a title for the table and paragraph marks.
rng.InsertBefore("Document Statistics");
rng.Font.Name = "Verdana";
rng.Font.Size = 16;
rng.InsertParagraphAfter();
rng.InsertParagraphAfter();
rng.SetRange(rng.End, rng.End);
// Add the table.
rng.Tables.Add(this.Paragraphs[2].Range, 3, 2, ref missing, ref missing);
// Format the table and apply a style.
Word.Table tbl = this.Tables[1];
tbl.Range.Font.Size = 12;
tbl.Columns.DistributeWidth();
object styleName = "Table Professional";
tbl.set_Style(ref styleName);
// Insert document properties into cells.
tbl.Cell(1, 1).Range.Text = "Document Property";
tbl.Cell(1, 2).Range.Text = "Value";
tbl.Cell(2, 1).Range.Text = "Subject";
tbl.Cell(2, 2).Range.Text = ((Office.DocumentProperties)(this.BuiltInDocumentProperties))
[Word.WdBuiltInProperty.wdPropertySubject].Value.ToString();
tbl.Cell(3, 1).Range.Text = "Author";
tbl.Cell(3, 2).Range.Text = ((Office.DocumentProperties)(this.BuiltInDocumentProperties))
[Word.WdBuiltInProperty.wdPropertyAuthor].Value.ToString();
}
アプリケーション レベルのアドインの表へのデータ読み込み
表を作成し、文書のプロパティを挿入するには
範囲をドキュメントの先頭に設定します。
Dim rng As Word.Range = Me.Application.ActiveDocument.Range( _ Start:=0, End:=0)
object start = 0, end = 0; Word.Document document = this.Application.ActiveDocument; Word.Range rng = document.Range(ref start, ref end);
表のタイトルを挿入し、段落記号を追加します。
With rng .InsertBefore("Document Statistics") .Font.Name = "Verdana" .Font.Size = 16 .InsertParagraphAfter() .InsertParagraphAfter() .SetRange(rng.End, rng.End) End With
rng.InsertBefore("Document Statistics"); rng.Font.Name = "Verdana"; rng.Font.Size = 16; rng.InsertParagraphAfter(); rng.InsertParagraphAfter(); rng.SetRange(rng.End, rng.End);
表を文書の範囲に追加します。
rng.Tables.Add(Range:=Me.Application.ActiveDocument.Paragraphs.Item(2).Range, _ NumRows:=3, NumColumns:=2)
rng.Tables.Add(document.Paragraphs[2].Range, 3, 2, ref missing, ref missing);
表を書式設定し、スタイルを適用します。
With Me.Application.ActiveDocument.Tables.Item(1) .Range.Font.Size = 12 .Columns.DistributeWidth() .Style = "Table Professional" End With
Word.Table tbl = document.Tables[1]; tbl.Range.Font.Size = 12; tbl.Columns.DistributeWidth(); object styleName = "Table Professional"; tbl.set_Style(ref styleName);
文書のプロパティをセルに挿入します。
With Me.Application.ActiveDocument.Tables.Item(1) .Cell(1, 1).Range.Text = "Document Property" .Cell(1, 2).Range.Text = "Value" .Cell(2, 1).Range.Text = "Subject" .Cell(2, 2).Range.Text = CType( _ Me.Application.ActiveDocument.BuiltInDocumentProperties, _ Office.DocumentProperties) _ (Word.WdBuiltInProperty.wdPropertySubject).Value.ToString() .Cell(3, 1).Range.Text = "Author" .Cell(3, 2).Range.Text = CType( _ Me.Application.ActiveDocument.BuiltInDocumentProperties, _ Office.DocumentProperties) _ (Word.WdBuiltInProperty.wdPropertyAuthor).Value.ToString() End With
tbl.Cell(1, 1).Range.Text = "Document Property"; tbl.Cell(1, 2).Range.Text = "Value"; tbl.Cell(2, 1).Range.Text = "Subject"; tbl.Cell(2, 2).Range.Text = ((Office.DocumentProperties)(document.BuiltInDocumentProperties)) [Word.WdBuiltInProperty.wdPropertySubject].Value.ToString(); tbl.Cell(3, 1).Range.Text = "Author"; tbl.Cell(3, 2).Range.Text = ((Office.DocumentProperties)(document.BuiltInDocumentProperties)) [Word.WdBuiltInProperty.wdPropertyAuthor].Value.ToString();
完全なプロシージャの例を次に示します。このコードを使用するには、プロジェクトの ThisAddIn クラスから実行します。
Private Sub CreateDocumentPropertyTable()
Dim rng As Word.Range = Me.Application.ActiveDocument.Range( _
Start:=0, End:=0)
' Insert a title for the table and paragraph marks.
With rng
.InsertBefore("Document Statistics")
.Font.Name = "Verdana"
.Font.Size = 16
.InsertParagraphAfter()
.InsertParagraphAfter()
.SetRange(rng.End, rng.End)
End With
' Add the table.
rng.Tables.Add(Range:=Me.Application.ActiveDocument.Paragraphs.Item(2).Range, _
NumRows:=3, NumColumns:=2)
' Format the table and apply a style.
With Me.Application.ActiveDocument.Tables.Item(1)
.Range.Font.Size = 12
.Columns.DistributeWidth()
.Style = "Table Professional"
End With
' Insert document properties into cells.
With Me.Application.ActiveDocument.Tables.Item(1)
.Cell(1, 1).Range.Text = "Document Property"
.Cell(1, 2).Range.Text = "Value"
.Cell(2, 1).Range.Text = "Subject"
.Cell(2, 2).Range.Text = CType( _
Me.Application.ActiveDocument.BuiltInDocumentProperties, _
Office.DocumentProperties) _
(Word.WdBuiltInProperty.wdPropertySubject).Value.ToString()
.Cell(3, 1).Range.Text = "Author"
.Cell(3, 2).Range.Text = CType( _
Me.Application.ActiveDocument.BuiltInDocumentProperties, _
Office.DocumentProperties) _
(Word.WdBuiltInProperty.wdPropertyAuthor).Value.ToString()
End With
End Sub
private void CreateDocumentPropertyTable()
{
object start = 0, end = 0;
Word.Document document = this.Application.ActiveDocument;
Word.Range rng = document.Range(ref start, ref end);
// Insert a title for the table and paragraph marks.
rng.InsertBefore("Document Statistics");
rng.Font.Name = "Verdana";
rng.Font.Size = 16;
rng.InsertParagraphAfter();
rng.InsertParagraphAfter();
rng.SetRange(rng.End, rng.End);
// Add the table.
rng.Tables.Add(document.Paragraphs[2].Range, 3, 2, ref missing, ref missing);
// Format the table and apply a style.
Word.Table tbl = document.Tables[1];
tbl.Range.Font.Size = 12;
tbl.Columns.DistributeWidth();
object styleName = "Table Professional";
tbl.set_Style(ref styleName);
// Insert document properties into cells.
tbl.Cell(1, 1).Range.Text = "Document Property";
tbl.Cell(1, 2).Range.Text = "Value";
tbl.Cell(2, 1).Range.Text = "Subject";
tbl.Cell(2, 2).Range.Text = ((Office.DocumentProperties)(document.BuiltInDocumentProperties))
[Word.WdBuiltInProperty.wdPropertySubject].Value.ToString();
tbl.Cell(3, 1).Range.Text = "Author";
tbl.Cell(3, 2).Range.Text = ((Office.DocumentProperties)(document.BuiltInDocumentProperties))
[Word.WdBuiltInProperty.wdPropertyAuthor].Value.ToString();
}
参照
処理手順
方法: プログラムによって Word の表のセルにテキストと書式設定を追加する
方法: プログラムによって Word の表に行と列を追加する