C# 操作Office带密码文件

如果office文件设置了密码,在打开文件的时候就会弹出对话框,提示输入密码才能继续下去,影响了后台服务的跑批执行,由于在打开文件之前,无法知道当前文件是否有密码,所以在打开文件的时候就设置一个默认密码来打开,这样报错了就可以直接跳过该文件,下面就介绍每个类型的office文档怎么传入密码打开文档。

1.Word

ApplicationClass word = new ApplicationClass();
word.Visible = true;    //word是否可见
Document doc = word.Documents.Open(@"F:...\demo.docx", Type.Missing, true, Type.Missing, "123456");

参数预览在这里插入图片描述

2.Excel

第5个和第6个参数是输入密码的地方

object missing = System.Reflection.Missing.Value;
Application excel = new Application();//lauch excel application
excel.Visible = false; 
excel.UserControl = true;
// 以只读的形式打开EXCEL文件
Workbook wb = excel.Application.Workbooks.Open(".../demo.xlsx", missing, true, missing, "123456", "123456",missing, missing, missing, true, missing, missing, missing, missing, missing);

参数预览
在这里插入图片描述

3.PPT

ppt比较特殊,密码没有参数去输入,而是在文件路径后面加上::用于输入密码

Application app = new Application(); 
app.Presentations.Open2007(".../demo.pptx::123456", MsoTriState.msoTrue, MsoTriState.msoFalse, MsoTriState.msoTrue, MsoTriState.msoFalse); 
app.ActivePresentation.SaveAs(@"R:\LiChao\Temp\test\CCB_F4I;09_Field Work - Part 1 Field Work.pptx", PpSaveAsFileType.ppSaveAsDefault, MsoTriState.msoFalse); 
app.ActivePresentation.Close();

参数预览
在这里插入图片描述

你可能感兴趣的:(.NET)