C# 取消excel工作簿的保护#2

C# 取消excel工作簿的保护#2,c#,excel,C#,Excel,我有一个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"

我有一个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);
当我运行此命令时,我收到以下错误:“无法执行操作,因为项目受保护。”


任何关于如何消除此错误的帮助

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

尝试切换应用程序的
可见性
属性

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

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

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

尝试切换应用程序的
可见性
属性

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

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

HI,当我添加以上两行代码时,出现以下错误“Microsoft.Office.Interop.Excel.Application”不包含“可见性”的定义,并且找不到接受类型为“Microsoft.Office.Interop.Excel.Application”的第一个参数的扩展方法“可见性”。抱歉:oExcel.Visible=true;oExcel.Visible=假;嗨,当我添加这两行代码时,我仍然收到相同的错误“无法执行操作,因为项目受保护”..嗨,当我添加以上两行代码时,出现以下错误“Microsoft.Office.Interop.Excel.Application”不包含“可见性”的定义,并且找不到接受类型为“Microsoft.Office.Interop.Excel.Application”的第一个参数的扩展方法“可见性”。抱歉:oExcel.Visible=true;oExcel.Visible=假;嗨,当我添加这两行代码时,我仍然收到相同的错误“无法执行操作,因为项目受到保护”。。