本技术资料版权所有,禁止分发.©(2003-2007),重庆软航科技有限公司,保留所有权利.NTKO和软航是软航科技的商标

NTKO OFFICE文档控件技术资料

NTKO OFFICE文档控件BS应用开发入门—通过JavaScript控制Word文档概述


创建时间:01/18/2007 05:25:03 PM 修改时间: 10/31/2011 02:02:22 PM
分类:BS开发-开发入门及架构, BS客户端-JavaScript控制Word
适应版本号:4,0,1,X; 3,0,0,x

相关文档:·NTKO OFFICE文档控件BS应用开发入门—开发流程、原理及架构
·如何得到Word的Document对象以及相关对象的详细编程帮助?
·录制Word宏,并将Word宏代码转换为Javascript代码的方法

在NTKO OFFICE文档控件中,通过JavaScript控制Word文档概述

1、概述

    当在NTKO OFFICE文档控件中,通过 控件对象.CreateNew("Word.Document");语句创建一个Word文档对象,或者通过BeginOpenFromURL方法打开一个Word文档之后,控件对象.ActiveDocument属性将返回一个Word的Document对象。通过这个对象,可以访问Word的Document对象的几乎所有属性和方法。如下图所示。
    有关word的Document对象以及相关对象的详细属性和方法,请参考本文相关文档

2、简要说明
    如果您有过VBA方面的编程经验,通过NTKO OFFICE文档控件,使用JavaScript访问内部的Word文档应该更加容易。但是有一点不同需要注意。在VBA应用中,一般是通过创建"Word.Application"对象来获得一个顶层的Application对象引用,然后通过Application对象,访问Document对象。而在NTKO OFFICE文档控件中,首先是通过控件对象.ActiveDocument得到word的Document对象,然后通过Document对象的Application属性访问Application对象。
    另外,有关VBA和Javascript编程方面的不同,请参考本文相关文档

3、编程的一般过程
    通过JavaScript控制NTKO OFFICE文档控件中的Word文档的一般编程过程如下:
    1)onload中打开或者新建一个Word文档对象。
    2)在控件的OnDocumentOpened事件中,得到NTKO OFFICE文档控件中的word文档对象。
    3)对文档进行编程控制操作。

4、一个简单的示例

    以下示例显示应用的名称,并设定痕迹保留的用户名。如果是word文档,则显示文档中修订的数量。
      var mydoc = ntkoobj.ActiveDocument; //得到Document对象
      var app = mydoc.Application; //得到Application对象
      alert("应用名称:" + app.Name); //通过Application对象的Name属性得到应用名称
      app.Username = "OA系统当前登录用户名"; //通过Application对象的UserName属性设定痕迹保留用户名
      if(ntkoobj.DocType == 1) //如果打开的是Word文档
      {
        alert("文档中的修订数量:" + mydoc.Revisons.Count); //通过Document的Revisions集合访问修订并得到其数量
      }
5、JavaScript操作Word常用到的对象
    • Application对象:代表整个Word应用程序顶层对象。可以设定或者控制全局选项。
    • Document对象:代表当前控件中的文档对象。通过它可以访问文档中的修订,表格,区域,段落,节等。
    • Selection对象:代表当前插入点对象。可以通过它得到当前位置,区域,插入文字。
    • Range对象:代表文档中的某个区域范围。可以通过Selection对象,Bookmark书签对象等对象得到一个Range对象。代表当前插入点区域,或者一个书签所在范围。
    • Tables集合:代表文档中的所有表格。
    • Bookmakrs集合:代表文档中的所有书签集合。
    • FormFields集合:代表文档中的所有表单域集合。
    • Revisions集合:代表文档中的所有修订信息。
    • View对象:可以控制当前视图。比如页面视图,web视图。在Office2003中,也可以控制修订的显示状态。