1

我有一个受密码保护的excel。我正在尝试向此 excel 添加一个宏。我的代码是

   oBook = oExcel.Workbooks.Open(FileName, 0, false, 5, "xyz", "", false, Excel.XlPlatform.xlWindows, "", true, false, 0, true);

    //oModule = oMOD.VBComponents("ThisWorkbook");

    oBook.Unprotect("xyz");

    // Create a new VBA code module.
    oModule =
    oBook.VBProject.VBComponents.Add(VBIDE.vbext_ComponentType.vbext_ct_StdModule);
    oModule.CodeModule.AddFromString(sCode);

当我运行它时,我收到此错误“由于项目受到保护,无法执行操作。”

任何帮助如何摆脱这个错误

4

1 回答 1

1

我遇到了类似的问题。未找到解决方案,但找到了解决方法:

尝试切换应用程序的Visibility属性

oBook = oExcel.Workbooks.Open(FileName, 0, false, 5, "xyz", "", false, Excel.XlPlatform.xlWindows, "", true, false, 0, true);


oExcel.Visible= true;
oExcel.Visible = false;

oBook.Unprotect("xyz");

我真的不知道它是如何工作的(看起来像一个错误),但是这简单的两行代码帮助我解决了我的问题。

于 2013-03-04T07:20:19.693 回答