我现在需要做一个在网页中通过javascript调用word打印的功能,其实就是从数据库中读出人员信息列表循环插入到word表格中再打印,在word模板文档里就用一个Table通过javascript程序调用这个模板动态增加表格行从而循环插入数据:
......
MyDoc.Tables(1).Rows.Add();
MyDoc.Tables(1).Rows(i).Cells(j).Text="";
......
人员记录数不一定,经常会出现一页放不下的情况,由于程序处理特定的需要,我想将表格在每页最后一行的外边框去掉(目的就是想把最后一行作成隐藏的效果,其实它还占据着原来的位置,由于整个为一个表格不能删除单行,否则下一页的行就会向上一页串),我知道用javascript程序可以将最后一行的左边线、右边线和下边线隐藏,可是由于下一页第一行的上边线的存在导致上一页最后一行始终存在一条下边线(实际就是下一页第一行的上边线)但是还不能把下一页第一行的上边线隐藏...
在手动操作word文档时通过橡皮擦将“最后一行的下边线“擦掉可以实现我想要的效果,可是通过javascript程序该怎么实现呢?不知道我说的明不明白,请达人们指点~

解决方案 »

  1.   

    没做过。不过是否可以这样:
    1、先按照常规方法导出到WORD;
    2、打开WORD文件,手动操作word文档,通过橡皮擦将“最后一行的下边线“擦掉;
    3、将该文件保存为web格式,然后查看源码,看看你用橡皮擦掉的最后一行的代码是什么样的;
    4、考虑用JS实现那个效果乱出个主意,LZ不要见怪
      

  2.   

    我觉得,跟本不可能这样做,就算有,也不跨浏览器找找jscript,看微软有没有相关的支持。
      

  3.   

    使用橡皮擦的操作过程,word不提供VBA的录制功能,这部分功能没有相应的VBA代码,javascrip也不好实现如果楼主就是想要这种效果,可以考虑先制作一行这样的样本,再使用VBA通过复制粘贴的方式,或在最后一行的位置上面使用上浮的空白文本框等图形覆盖的方式得到这个效果.
      

  4.   

    6楼的兄弟提供的方法好象可行,刚才在word中通过宏录制了一个插入文本框并将其边线的颜色设为白色,
    生成的VBA代码大概为:
    ActiveDocument.Shapes.AddTextbox(msoTextOrientationHorizontal, 81#, _
            750.6, 432#, 15.6).Select
        Selection.ShapeRange.TextFrame.TextRange.Select
        Selection.Collapse
        Selection.ShapeRange.Select
        Selection.ShapeRange.Fill.ForeColor.RGB = RGB(255, 255, 255)
    我在javascript中再试了一下:
    var word = new ActiveXObject("Word.Application");
    var doc = word .documents.open("c:\\Doc1.doc");
    doc.Shapes.AddTextbox(1, 81, 650.6, 432, 15.6).Select();
    上面的这行我试了没问题,能在特定的位置上插入一个空白文本
    可是再往下将此文本框的边线设为白色,我试了下总是出错(好象提示说ShapeRange为空或不是对象),这部分代码我就不会转了,还请大家指点该如何转成javascript
      

  5.   

    你把你录制的完整VBA代码,和已调试通过的部分javascript代码全部帖上来,我帮你改成 javascript