在Word文档中连继用代码添两个表的方法

【要点】:在Word中添加两个表时中间必须空出一行,否则这两个表会合并成一个表。另外,当用代码添加完第一个表后必须将光标移出表格,否则第二个表格会套嵌在第一个表格中。

以下是代码:

Public Class ThisDocument

    Private Sub ThisDocument_Startup() Handles Me.Startup
        Dim R1 As Word.Range = Globals.ThisDocument.Application.ActiveDocument.Bookmarks("TestBookMark").Range
        Dim S1 As Word.Selection = Globals.ThisDocument.Application.Selection
        Dim d As Word.WdUnits = Word.WdUnits.wdLine
        Dim c As Integer

        R1.Select()

        With S1.Tables.Add(S1.Range, 2, 3)
            .ApplyStyleColumnBands = True
            .ApplyStyleRowBands = True
            With .Borders(Word.WdBorderType.wdBorderBottom)
                .LineStyle = Word.WdLineStyle.wdLineStyleDoubleWavy
            End With
            With .Borders(Word.WdBorderType.wdBorderTop)
                .LineStyle = Word.WdLineStyle.wdLineStyleSingle
            End With
            With .Borders(Word.WdBorderType.wdBorderHorizontal)
                .LineStyle = Word.WdLineStyle.wdLineStyleSingle
            End With
            With .Borders(Word.WdBorderType.wdBorderVertical)
                .LineStyle = Word.WdLineStyle.wdLineStyleSingle
            End With
            With .Borders(Word.WdBorderType.wdBorderRight)
                .LineStyle = Word.WdLineStyle.wdLineStyleSingle
            End With
            With .Borders(Word.WdBorderType.wdBorderLeft)
                .LineStyle = Word.WdLineStyle.wdLineStyleSingle
            End With
        End With

        '光标下移,这个非常重要
        c = S1.Tables(1).Rows.Count
        S1.MoveDown(Unit:=d, Count:=c)
        '空开一行,避免两个表格合并
        S1.TypeParagraph()

        With R1.Tables.Add(S1.Range, 2, 2)
            .ApplyStyleColumnBands = True
            .ApplyStyleRowBands = True
            With .Borders(Word.WdBorderType.wdBorderBottom)
                .LineStyle = Word.WdLineStyle.wdLineStyleSingle
            End With
            With .Borders(Word.WdBorderType.wdBorderTop)
                .LineStyle = Word.WdLineStyle.wdLineStyleDoubleWavy
            End With
            With .Borders(Word.WdBorderType.wdBorderHorizontal)
                .LineStyle = Word.WdLineStyle.wdLineStyleSingle
            End With
            With .Borders(Word.WdBorderType.wdBorderVertical)
                .LineStyle = Word.WdLineStyle.wdLineStyleSingle
            End With
            With .Borders(Word.WdBorderType.wdBorderRight)
                .LineStyle = Word.WdLineStyle.wdLineStyleSingle
            End With
            With .Borders(Word.WdBorderType.wdBorderLeft)
                .LineStyle = Word.WdLineStyle.wdLineStyleSingle
            End With
        End With


    End Sub

    Private Sub ThisDocument_Shutdown() Handles Me.Shutdown

    End Sub

End Class




欢迎访问《 许阳的红泥屋

转载于:https://www.cnblogs.com/mksword/archive/2012/10/12/3934033.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值