用C#如何在WORD中插入多个表格?为什么用循环表格都是一一嵌套的?? 我想插入多个表格怎么实现?

解决方案 »

  1.   

    一段VBA代码,插入两个表格
    //表一
        ActiveDocument.Tables.Add Range:=Selection.Range, NumRows:=2, NumColumns:= _
            5, DefaultTableBehavior:=wdWord9TableBehavior, AutoFitBehavior:= _
            wdAutoFitFixed
        With Selection.Tables(1)
            If .Style <> "网格型" Then
                .Style = "网格型"
            End If
            .ApplyStyleHeadingRows = True
            .ApplyStyleLastRow = True
            .ApplyStyleFirstColumn = True
            .ApplyStyleLastColumn = True
        End With
        
    //重点在这里,把焦点向下移动,不然焦点在第一个单元格里的
        Selection.TypeParagraph
        Selection.MoveUp Unit:=wdLine, Count:=3
        Selection.MoveDown Unit:=wdLine, Count:=10
        Selection.MoveUp Unit:=wdLine, Count:=1
        
      //表二  
        ActiveDocument.Tables.Add Range:=Selection.Range, NumRows:=2, NumColumns:= _
            5, DefaultTableBehavior:=wdWord9TableBehavior, AutoFitBehavior:= _
            wdAutoFitFixed
        With Selection.Tables(1)
            If .Style <> "网格型" Then
                .Style = "网格型"
            End If
            .ApplyStyleHeadingRows = True
            .ApplyStyleLastRow = True
            .ApplyStyleFirstColumn = True
            .ApplyStyleLastColumn = True
        End With在C#中操作的时候,可能有点不一样,原理是通的,大概的对象模型也是一样的,自己看看
      

  2.   

    谢谢yumanqing(每天进步一点点) ,我先研究一下,要是哪位高手有C#的代码,请指教
      

  3.   

    代码手头正好不在。思路是这样的:
    表格除标题共2行。
    第一行中放标签填充数据,作为模版用来循环复制。第二行空行,头部放一个定位标签。循环开始:
    填充第一行数据。
    选择第一样整行,复制。
    光标移动到第二行,粘贴。
    循环结束。最后选择第一行,删除。以上操作都有相对应的vba,可以转换成c#
      

  4.   

    问题解决了,呵呵,谢谢yumanqing(每天进步一点点)    //重点在这里,把焦点向下移动,不然焦点在第一个单元格里的  
           Selection.TypeParagraph  
           Selection.MoveUp  Unit:=wdLine,  Count:=3  
           Selection.MoveDown  Unit:=wdLine,  Count:=10  
           Selection.MoveUp  Unit:=wdLine,  Count:=1     这段对我启发很大,也同样谢谢acns(#3100) ,接分啦~~