-1

テーブルを作成しました。表はドキュメントの最初の行から始まります。私の問題は、テーブルの上に行を挿入できないことです。段落を追加しようとするたびに、最後のテーブルの後に段落が挿入されます。最初のテーブルの上に行を挿入する方法はありますか?

私の問題を説明するには:

http://www.techrepublic.com/blog/msoffice/insert-a-line-above-a-word-table-at-the-top-of-the-page/846

これまでの私のコード:

Dim oApp As Word.Application
    Dim oDoc As Word.Document


    oApp = CType(CreateObject("Word.Application"), Word.Application)
    oDoc = oApp.Documents.Add()


    Dim rng As Word.Range = oDoc.Range(0, 0)
    rng.Font.Name = "Verdana"
    rng.Font.Size = 16


    Dim para As Word.Paragraph = oDoc.Paragraphs.Add()
    para.Range.Text = "Factsheet"



    Dim tlb6 As Word.Table = oDoc.Tables.Add(Range:=rng, NumRows:=1, NumColumns:=4)


    Dim CurrentDateTime As Date = Date.Now
    Dim CurrentDate As Date = New Date(CurrentDateTime.Year, CurrentDateTime.Month, CurrentDateTime.Day)

    tlb6.Cell(1, 1).Range.Text = "Date"
    tlb6.Cell(1, 1).Shading.BackgroundPatternColor = Word.WdColor.wdColorGray20
    tlb6.Cell(1, 1).Borders.OutsideLineStyle = 1
    tlb6.Cell(1, 2).Range.Text = CurrentDate
    tlb6.Cell(1, 2).Borders.OutsideLineStyle = 1
    tlb6.Cell(1, 3).Range.Text = "Issued by"
    tlb6.Cell(1, 3).Shading.BackgroundPatternColor = Word.WdColor.wdColorGray20
    tlb6.Cell(1, 3).Borders.OutsideLineStyle = 1
    tlb6.Cell(1, 4).Range.Text = ""
    tlb6.Cell(1, 4).Borders.OutsideLineStyle = 1
4

2 に答える 2

3

Word 2010 を使用している場合は、これでうまくいくはずです (ただし、見苦しく、Select と ActiveDocument を使用します)。

If ActiveDocument.Paragraphs(1).Range.Information(wdWithInTable) = True Then
    tbl6.Rows(1).Cells(1).Range.Collapse direction:=wdLeft
    Selection.SplitTable
End If

最初の Paragraph オブジェクトがテーブル内にあることを確認し、テーブル内にある場合は、その上にテキスト行を追加します。

于 2012-12-07T18:59:42.723 に答える
0

ケビンの答えに基づいて、少しクリーンなソリューション:

ActiveDocument.Range(0, 0).Select
If Selection.Information(wdWithInTable) = True Then
    Selection.InsertBreak Type:=wdColumnBreak
End If
于 2016-03-29T22:48:43.790 に答える