我将如何制作一个vba程序,该程序启用只读功能,但在启动时还需要密码才能打开该文档,并且不参考密码,如果处于只读状态,则需要编辑该文档。
每次我使用代码对文档启用“只读”功能时,它都会清除文档中的密码,并且只有只读但可编辑。
wd.SaveAs Filename:="C:\Users\Documents\" & URNa & " - " & URNb & ".docx", Password:=CombinePass,
ReadOnly=True
答案 0 :(得分:0)
Word具有两种密码保护:
SaveAs
方法在文件级别起作用。指定密码后,除非提供密码,否则将无法打开文件。
将ReadOnlyRecommended
参数设置为true
可以打开文档,但不能将其保存为相同的名称。
因此1)ReadOnlyRecommended
并没有达到大多数人的期望,并且2)这两个参数本质上彼此矛盾-不能同时使用。
为了允许打开文件,但确保不能编辑文件内容,有必要在文档级别保护该内容:
wd.Protect(Word.WdProtectionType.wdAllowOnlyReading, Type.Missing, "test", Type.Missing, Type.Missing);
请注意,当在应用保护之前指定了某些部分时,这种保护还允许编辑文档的某些部分。