我正在制作一个C#应用程序(使用2015,使用WinForms),它需要在C#中打开一个受密码保护的.docx文件。我知道你能做到:
Process.Start("WINWORD.EXE", "filename.docx");要开始word (我正在使用Microsoft 2016)加载该文件。但我也想提交密码给Word,这样它就会打开,而不需要我做任何事情。我知道事情不是这么简单,但这就是现在想象的:
public void submitPassword(string password)
{
Process.Start("WINWORD.EXE", "filename.docx" //something like this: System.Password.Sumbit("WINWORD.EXE", password));
}发布于 2017-05-15 19:22:03
安德鲁·皮莱塞给我的回答使我接近了,但没有。这就是起作用的地方:
using Word = Microsoft.Office.Interop.Word;
...
public void submitPassword()
{
var wordApp = new Word.Application();
wordApp.Visible = true;
wordApp.Documents.Open(FileName: @"filepath", PasswordDocument: "filepassword");
}发布于 2017-05-15 18:21:49
有一个叫做Microsoft Word Object Library的COM类型库。在Visual中,可以从解决方案资源管理器中添加对其的引用。右键单击“引用”,单击“添加引用”,转到“COM”选项卡,然后搜索Word。
使用包Microsoft.Office.Interop.Word,您可以创建一个Application实例,并告诉它使用密码打开文档。
using Microsoft.Office.Interop.Word;
...
public void SubmitPassword(string password)
{
Application app = new Application();
app.Documents.Open(FileName: @"filepath", PasswordDocument: password);
}https://stackoverflow.com/questions/43985960
复制相似问题