在vb.net中打开word文件时禁止用户编辑
我有一个列出多个Word和Excel文件的应用程序,因此当用户双击其中一个文件时,它会打开并可以编辑。我想授予用户编辑或不编辑的权限 我搜索了很多,到目前为止我找到的是在vb.net中打开word文件时禁止用户编辑,vb.net,ms-word,office-interop,Vb.net,Ms Word,Office Interop,我有一个列出多个Word和Excel文件的应用程序,因此当用户双击其中一个文件时,它会打开并可以编辑。我想授予用户编辑或不编辑的权限 我搜索了很多,到目前为止我找到的是 ProtectedViewWindows.Open(mFolderPath) Process.Start(myDocPath) 但它给了我一个错误: 对非共享成员的引用需要对象引用 此错误消息表示,Open不是ProtectedViewWindows类中的共享函数,因此在调用Open对象之前,必须创建一个ProtectedV
ProtectedViewWindows.Open(mFolderPath)
Process.Start(myDocPath)
但它给了我一个错误:
对非共享成员的引用需要对象引用
此错误消息表示,
Open
不是ProtectedViewWindows
类中的共享函数,因此在调用Open
对象之前,必须创建一个ProtectedViewWindows
对象
比如:
Dim pvw As ProtectedViewWindows = New ProtectedViewWindows
pvw.Open(mFolderPath)
Process.Start(myDocPath)
可能
ProtectedViewWindow
的构造函数需要一个或多个参数。ProtectedViewWindow
不是用来阻止用户编辑文档的。这是Office应用程序中内置的功能,用于打开来自不受信任来源的文档。在这一点上,报告的解释比较清楚,;你可能也想读书
因此,您的隐含问题的答案是:您不能使用对象模型的这一部分来做您想要做的事情
Word和Excel都不是设计用来作为“读者”的——它们是编辑。如果你只想让用户阅读,那么你需要寻找一个阅读器。例如,将文件保存为PDF格式,以便在Acrobat Reader中打开
FWIW可以使用各自的保护机制保护Word和Excel文件的全部或部分。这必须应用于使用对象模型打开的文件(或通过编辑关闭文件的打开XML)文档对象提供了保护类型参数的保护方法,这种类型的WDRealStype枚举可以考虑到以下保护类型,以防止Word文档中的编辑:代码引用取自
- wdAllowOnlyComments
- wdAllowOnlyFormFields
- wdAllowOnlyReading
- WdAllown版本
- WDN保护
以下是您可以根据保护
考虑的代码示例oDocument.Protect(WdProtectionType.wdAllowOnlyReading,vbNull,"password")
它的“给我”错误:“New”不能在接口上使用。那么
ProtectedViewWindows
是一个接口而不是类。您需要找到一个实现接口ProtectedViewWindows
的类,并创建该类的对象。您确定您的问题与VB.net有关吗?我在网上找到的例子似乎是指VBA。你的最后两个答案链接到同一个网站。虽然这本身并不坏,但它意味着你可能以某种方式与该网站有关联。如果你与该网站有关联,那么你需要在你链接到该网站的帖子中披露。请看:、和。