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

NTKO OFFICE文档控件技术资料

如何通过JavaScript限制文档不同部分的编辑权限?


创建时间:03/15/2007 12:04:23 PM 修改时间: 10/31/2011 03:00:16 PM
分类:BS客户端-JavaScript控制Word
适应版本号:4,0,1,X; 3,0,0,x

相关文档:本文档没有相关文档



如何通过JavaScript限制文档不同部分的编辑权限(注:以下内容仅支持office2003)

在使用NTKO OFFICE文档控件打开了一个word文档后,如果想对文档使用保护功能,可以使用如下javascript代码:
    var ntko_OCX_OBJ=document.all.item("NTKO_OCX"); /*获取文档控件对象*/
    ntko_OCX_OBJ.ActiveDocument.Protect(3,false,"password",false,true);
上面这段代码中蓝色粗体的代码完成了保护文档的操作,为了方便说明将参数修改为:
    ntko_OCX_OBJ.ActiveDocument.Protec(Type,NoReset,Password,UseIRM,EnforceStyleLock)
Type   指定文档的保护类型。类型:3,表示只读.取值:(-1|0|1|2|3).

NoReset   如果值为 False,则将窗体域重新设置为其默认值。如果值为 True,而指定文档又是处于保护状态,则保留当前窗体域的值.取值:(true|false)

Password   删除指定文档的保护所需的密码(当需要取消对文档的保护时,系统会提示你输入的密码.如果取消了对文档的保护,任何用户都可以对文档进行编辑)。取值:英文和数字组成字符串

UseIRM   指定保护文档不被更改时是否使用“信息版权管理”(如果不明白也没有关系,这个值一般为false)。取值:(true|false)

EnforceStyleLock   指定是否在受保护的文档中实施格式设置限制.取值:(true|false).

如果要想用户只能编辑该文档的一部分,可以先选定可以被用户编辑的那部分文字,然后调用如下javascript代码:

    ntko_OCX_OBJ.ActiveDocument.Application.Selection.Editors.Add(-1);

该方法只有一个参数,指示了被授予编辑权限的用户是谁(-1代表所有用户).word文件分配给区域和选定部分的权限在文档受到保护之后就会生效,即用户可以对其授权的部分文档进行编辑,但不能编辑没有被受权的部分.

不但可以授予用户编辑某个区域的权限,还可以授予用户表格中哪几个单元格可以被编辑的权限.使用如下代码:

    ntko_OCX_OBJ.ActiveDocument.Tables(1).Cell(2, 1).Range.Editors.Add (-1);

Tables(1).指定了word文档中的第1个表格,参数指定了该表格是文档中的第几个表格,Cell(2, 1)里面的第一个参数是单元格的行数,第2格参数是单元格的列数.

在一个WORD文档中,如果有下面的表格:
学校姓名班级年龄
你不想让用户修改表格中第一行的4个单元格,只想让用户填入自己的信息.就可以先授予用户编辑第2行4个单元格的权限:

    ntko_OCX_OBJ.ActiveDocument.Tables(1).Cell(2, 1).Range.Editors.Add (-1);
    ntko_OCX_OBJ.ActiveDocument.Tables(1).Cell(2, 2).Range.Editors.Add (-1);
    ntko_OCX_OBJ.ActiveDocument.Tables(1).Cell(2, 3).Range.Editors.Add (-1);
    ntko_OCX_OBJ.ActiveDocument.Tables(1).Cell(2, 4).Range.Editors.Add (-1);
Tables(1)参数1:表示该表格式文档中的第一个表格,如果该表格是文档中的第3个表格,应该使用:Tables(3).然后再保护文档,这样用户就不能编辑该文档,但有在该表格中第2行的四个单元格中编辑的权限.

另外,控件对象.ActiveDocument.DeleteAllEditableRanges(-1);可以用来删除文档中的所有可编辑区域.
示例下载:NtkoOffice-PurviewDemo.rar

返回页面顶部↑  
本文档的相关文档:
本文档没有相关文档