用C ++或C#打开密码保护的Excel文件提示input密码,即使我已经传递了密码参数

我正在使用Microsoft.Office.Interop.Excel从我的C ++ / CLI程序中打开密码保护的Excel文件。 我提供了一个密码作为第五个参数。 当我运行我的程序时,Excel启动并打开我的文件,但它提示input密码。 请注意,该文件是密码保护,而不是工作表。

根据文档密码应该是types的对象,但提供作为文字也应该工作?

using namespace System; using namespace Microsoft::Office::Interop::Excel; Microsoft::Office::Interop::Excel::Application^ exApp= gcnew Microsoft::Office::Interop::Excel::ApplicationClass(); String^ filename="e:\\test.xls"; Workbook^ wb = exApp->Workbooks->Open(filename, Type::Missing, Type::Missing, Type::Missing, "passw1", Type::Missing, Type::Missing, Type::Missing, Type::Missing, Type::Missing, Type::Missing, Type::Missing, Type::Missing, Type::Missing, Type::Missing); 

将只读参数(3rd)更改为true实际上就是这样做的(除非它只是以只读方式打开):

 exApp->Workbooks->Open(filename, Type::Missing, true, ...