Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/274.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 添加工作表失败-仅在.XLSM文件上_C#_Excel_Office Interop - Fatal编程技术网

C# 添加工作表失败-仅在.XLSM文件上

C# 添加工作表失败-仅在.XLSM文件上,c#,excel,office-interop,C#,Excel,Office Interop,我正在尝试将工作表添加到工作簿中,它对.XLSX文件很好。但是对于一个.XLSM文件,我得到了可怕的COMException 0x800A03EC 我尝试了以下所有方法,但都失败了: wrkbk.Worksheets.Add(Type.Missing, Type.Missing, Type.Missing, Type.Missing); wrkbk.Worksheets.Add(wrkbk.Worksheets[wrkbk.NativeWorkbook.Worksheets.Count], Ty

我正在尝试将工作表添加到工作簿中,它对.XLSX文件很好。但是对于一个.XLSM文件,我得到了可怕的COMException 0x800A03EC

我尝试了以下所有方法,但都失败了:

wrkbk.Worksheets.Add(Type.Missing, Type.Missing, Type.Missing, Type.Missing);
wrkbk.Worksheets.Add(wrkbk.Worksheets[wrkbk.NativeWorkbook.Worksheets.Count], Type.Missing, Type.Missing, Type.Missing);
wrkbk.Worksheets.Add(Type.Missing, wrkbk.Worksheets[wrkbk.NativeWorkbook.Worksheets.Count], Type.Missing, Type.Missing);

问题和建议,但至少对我来说,使用.XLSM文件是行不通的。

这是失败的,因为工作簿已锁定。锁定的工作簿不能添加工作表。

您可以在该xlsm中执行任何操作吗(考虑模式安全提示或可怕的“启用内容”栏)?您使用哪种版本和实例化方法的PIA?@dlatikay-我可以从我的加载项中读取和写入单元格。还有什么我应该检查的吗?所有xlsm文件,还是单个文件?您试过多个系统(计算机)吗?它是通过VBA在您的环境中工作的,还是工作表也有问题。添加方法?@Cindymister Hi Cindy!!!我们谈了很久了。它只是1.XLSM文件。我们正在询问客户是否可以共享它。@Cindymister-您的问题让我找到了它-工作簿已锁定。因此,不需要添加工作表。