NTKO OFFICE文档控件技术资料(转载)

    使用javascript操作word中的表格

    1:使用javascript往word文档中插入表格
      function insertTable()
      {
      //定义selection对象,该对象代表窗口或窗格中的当前所选内容。所选内容代表文档中被选定(或突出显示的)的区域,若文档中没有所选内容,则代表插入点。每个文档窗格只能有一个活动的
      Selection 对象,并且整个应用程序中只能有一个活动的 Selection 对象。
        var selection=document.all.item("ntkoControlName").ActiveDocument.Application.Selection;
      //向selection对象的区域中插入表格,参数selection.range指示了插入表格的位置3是表格的行数,4是表格的列数
        selection.tables.add(selection.range,3,4);
      }
    2:想要操作word文档中的表格,必须获取word文档中的表格对象,下面介绍2种获取word文档种表格对象的方法:
    第一种方法:这种方法是在创建表格的过程中获取表格对象.把上面这段插入表格对象的方法作一些修改:
      var table;
      function insertTable()
      {
        var
        selection=document.all.item("ntkoControlName").ActiveDocument.Application.Selection;

        table=selection.tables.add(selection.range,3,4);
      }
    能够使用这种方法获取表格对象的原因是:…….tables.add()方法不但创建了一个表格对象,把它插入到文档中,还返回这个被创建的表格对象.

    第二种方法:使用下面的语句:
      var
      table=document.all.item("ntkoControlName").ActiveDocument.Tables(
      i)
    参数i说明了获取的表格对象是文档中的第几个表格对象.这种方法适合于当你知道要操作的表格是文档中的第几个表格的时候(在这种方法中,我们应该记住:文档中的第一个表格是从1开始计算的,而不是0).



    3:设置表格的边框.
      function
      addTableBorder()

      {
        //获取文档中的table对象,参数1表示第一个表
        var
        table=document.all.item("ntkoControlName").ActiveDocument.Tables(1)

        for(var i=-1;i>=-6;i--)
        {
          table.Borders(i).LineStyle=1;
          table.Borders(i).LineWidth = 6;
          table.Borders(i).Color = 39423;
        }
      }
    table.Borders(i).LineStyleBorders(i)中的i表示了边框的哪个部分(如:上边框,左边框,又边框等)它们分别用不同的整数来代替.

    4:设置表各中各个单元格的值
      function
      getTableValue()

      {
        var
        table=document.all.item("NTKO_OCX").ActiveDocument.Tables(1);

        table.Cell(1,1).range.Text="第一行第一列的值";
        table.Cell(1,2).range.Text="第一行第二列的值";
        table.Cell(1,3).range.Text="第一行第三列的值";
        table.Cell(1,4).range.Text="第一行第四列的值";
      }
    5:向表格插入行
    document.all.item("NTKO_OCX").ActiveDocument.Tables(i).table.rows.add();//插入行到第i个表格的末尾

    也可以插入到某一个range对象的前一行。
    var rg =document.all.item("NTKO_OCX").ActiveDocument.Tables(1).Cell(x,y).range;//获取第x行,y列的单元格
    document.all.item("NTKO_OCX").ActiveDocument.Tables(i).table.rows.add(rg);//在rg单元格所在行的前一行插入行
      table.Cell(1,1).range.Text中的第一个参数代表单元格的行数,第二个参数代表了单元格的列数(不管是行数或列数都是从1开始计算).
    原文地址:https://www.cnblogs.com/yc_huangxiao/p/2345094.html