gpt4 book ai didi

c# - 检测密码保护的word文件

转载 作者:太空宇宙 更新时间:2023-11-03 13:15:50 24 4
gpt4 key购买 nike

我正在使用“netoffice”库从 word 文件中提取文本。这应该是自动化过程。

但是,当 word 文件受密码保护时,会显示警告窗口,因此用户需要输入密码。因为这是自动化过程,用户没有输入密码,程序就在这里停止。

我如何检测 word 文件是否受“netoffice”密码保护,如果这不可能,我如何禁止显示警告窗口?

我尝试将 DisplayAlerts 设置为 WdAlertLevel.wdAlertsNone,但它不起作用。

最佳答案

以下代码将帮助您跳过受密码保护的文件:

        int iFilesWithPassword = 0;
Factory.Initialize();
Application wordApplication = new NetOffice.WordApi.Application();

try
{
// Attempt to open existing document. If document is not password protected then
// passwordDocument parameter is simply ignored. If document is password protected
// then an error is thrown and caught by the catch clause the follows, unless
// password is equal to "#$nonsense@!"!
Document newDocument = wordApplication.Documents.Open(@"C:\Users\Giorgos\Desktop\myNextFile.doc",
confirmConversions: false,
addToRecentFiles: false,
readOnly: false,
passwordDocument: "#$nonsense@!");



// read text of document
string text = newDocument.Content.Text;
}
catch(Exception e)
{
Exception inner = e.InnerException;

if (inner != null && inner.InnerException != null)
{
inner = inner.InnerException;
string sErrorMessage = inner.Message;

if (sErrorMessage.Contains("The password is incorrect."))
{
iFilesWithPassword++;
}
}

}
finally
{
// close word and dispose reference
wordApplication.Quit();
wordApplication.Dispose();
}

关于c# - 检测密码保护的word文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26235417/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com