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

时间:2015-03-23 06:49:14

标签: c++ .net excel excel-interop

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

根据文档,密码应该是object类型,但是将其作为文字提供也应该有用吗?

    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);

1 个答案:

答案 0 :(得分:1)

将readonly参数(3rd)更改为true实际上可以解决问题(除了它在readonly中打开):

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