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