【发布时间】:2010-07-29 17:41:45
【问题描述】:
我想创建一个用作模板的 Word 文档,其中除了用户可以编辑的文档中的内容控件(<sdt/> 元素)之外,所有文档都被锁定,无法编辑。
我看到的是,如果我锁定文档版本(现在我使用的是_markAsFinal 属性),就无法解锁单个内容控件。
我错过了什么吗?还是这是设计使然?
【问题讨论】:
标签: controls ms-word document openxml
我想创建一个用作模板的 Word 文档,其中除了用户可以编辑的文档中的内容控件(<sdt/> 元素)之外,所有文档都被锁定,无法编辑。
我看到的是,如果我锁定文档版本(现在我使用的是_markAsFinal 属性),就无法解锁单个内容控件。
我错过了什么吗?还是这是设计使然?
【问题讨论】:
标签: controls ms-word document openxml
在您的 settings.xml 文件中,您需要在 <w:settings/> 下添加这样的元素:
<w:documentProtection w:edit="forms" w:enforcement="1" w:cryptProviderType="rsaFull"
w:cryptAlgorithmClass="hash" w:cryptAlgorithmType="typeAny" w:cryptAlgorithmSid="4"
w:cryptSpinCount="100000" w:hash="UrgUnH3e8g+JF+pZ0azudEQQUYY="
w:salt="dKkOT11EOm/O3alLt8NBbQ=="/>
您需要自己设置哈希和盐,您可以参考Ecma specs 和implementation notes 了解这些详细信息,但this is a really good tutorial 直接进入。但这会限制所有仅编辑内容控件。
【讨论】: