如何用vba给word文档添加可以编辑的内容区域?

在word中可以通过“审阅”选项卡下的“保护”组中的“限制编辑”命令限制对word文档内容的修改,如下图所示:

如果要将某个word内容区域添加为可以编辑的区域,可以用Range对象的Editors属性返回Editors对象,然后用Editors对象的Add方法添加一个可以编辑的用户。

Editors对象的Add方法语法如下:

其中EditorID参数为要添加的用户的邮箱或者以下常量:

wdEditorCurrent -6 当前文档的当前用户
wdEditorEditors -5 Represents the Editors group for documents that use Information Rights Management.
wdEditorEveryone -1 所有可以打开这个文档的用户
wdEditorOwners -4 Represents the Owners group for documents that use Information Rights Management.

同一个Range对象如果添加了同样EditorID的Editor对象,则该Range对象的Editors集合对象的Count值不会增加,除非添加了不同的用户。

利用这个方法,可以为相同的用户(具有相同的EditorID)添加不同的可以编辑的Range区域。

如果要选中某个用户类型的所有可以编辑的Range区域,可以使用Range对象的 GoToEditableRange 找到第一个可以编辑的Range区域,然后通过返回的Range区域的Editors属性返回其中的一个Editor对象,最后通过Editor对象的SelectAll方法选中该用户的所有可以编辑区域,也可以用DeleteAll方法删除该用户的所有可以编辑区域。

根据上述的知识,可以通过如下的代码为word文档中的不同Range对象添加不同的可以编辑的区域:

 

 





       

发表评论