Word里实现禁止复制和选定
自己辛苦写的东西,被人家一个 Ctrl+C 和 Ctrl+V 几秒就易主了,转换成PDF又觉得麻烦。其实Word自身就带有这个功能,而且非常简单。三秒钟你就也会了。(以 Office 2003 为例)
word复制粘贴不能用第三步:点“是,启动强制保护”然后输入密码。
现在你回头看看你的文件是不是不能修改了呢?任何修改他的企图都会被Word拒绝。但是依然可以选定DOC中的文字什么的,也可以有鼠标右键复制粘贴功能。嘿嘿……问题出在什么地方呢?刚才我们对文本进行了格式设置限制和编辑限制,好象都是用的默认值,你现在把编辑限制的“未做任何更改(只读)”换成“填窗体”试试看,是不是已经不能被选定,并实现了禁止复制和粘贴了呢?
如果是 Office 2007 版本,则在:审阅 → 保护文档 → 限制格式和编辑
如何通过编程实现文档的禁止编辑
Code
object sPwd = string.Format("******");
if (this.word.oWordApplic.ActiveDocument.ProtectionType == Word.WdProtectionType.wdNoProtection)
{
object missing = Type.Missing;
this.word.oWordApplic.ActiveDocument.Protect(Word.WdProtectionType.wdAllowOnlyFormFields, ref missing, ref sPwd, ref missing, ref missing);
}
解密的代码如下:
Code
if (this.word.oWordApplic.ActiveDocument.ProtectionType == Word.WdProtectionType.wdAllowOnlyComments)
{
this.word.oWordApplic.ActiveDocument.Unprotect(ref sPwd);
}
注释:
保护指定文档,防止更改。如果一篇文档处于保护状态,则用户只能进行有限修改,如添加批注、进行修订,或者完成一个窗体。
注意:如果在使用本方法之前文档已经加以保护,则会导致出错。
expression.Protect(Type, NoReset, Password)
expression 必需。该表达式返回“应用于”列表中的一个对象。
Type 必需,特定文档的保护类型。WdProtectionType。
WdProtectionType 可以是下列 WdProtectionType 常量之一:
wdAllowOnlyComments
wdAllowOnlyFormFields ----对应填窗体
wdAllowOnlyRevisions
wdNoProtection
NoReset Variant 类型,可选。如果本参数为 False,则将窗体域重新设置为默认值。如果本参数为 True,而指定文档又是处于保护状态,则保留窗体域原来的值。如果 Type 不是wdAllowOnlyFormFields,则忽略NoReset参数。
Password Variant 类型,可选。特定的文档要求密码来“解除保护”。
发布评论