取消对excel工作簿#2的保护
本文关键字:保护 工作簿 excel 取消 | 更新日期: 2023-09-27 18:01:57
我有一个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);
当我运行这个,我得到这个错误"不能执行操作,因为项目是受保护的。"
如何摆脱这个错误
我也遇到过类似的问题。没有找到解决方案,但找到了变通方法:
尝试切换应用程序的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");
我真的不知道它是如何工作的(看起来像一个bug),但是这两行简单的代码帮助我解决了我的问题。