如何使用新的 CodeModule 从模板复制 ExcelWorkSheet

2023-12-07

我在复制时遇到问题ExcelWorkSheet以及相应的CodeModule复印表的。让我解释:

设想:我有一个带有宏的 Excel 文件 (.xlsm),我使用此 Excel 文件作为模板来创建另一个 Excel 文件(数据将复制到新文件中)。

因此,首先我从数据库中获取一些数据并打开 Excel 模板(.xlsm) file.

在某一时刻,某些条目需要位于不同的工作表中,这就是“WorkSheets.Add()”的用武之地。

 var newSheet = workbook.Worksheets.Add("someName", templateSheet);

复制模板表(其中包含我也想复制的“VBA”代码)后,我遇到了问题。

看来新创建的工作表的“CodeModule”与模板中的“CodeModule”按名称和引用相同。

那是;所有属性值都相同并且:workbook.VbaProject.Modules仅包含模板文件的初始代码模块,而不包含新的新代码模块newSheet.

更糟糕的是,如果我想绑定一个新的CodeModule像这样:

workbook.VbaProject.Modules.AddModule("test");
newSheet.CodeModule.Name = "test";

这俩newSheet.CodeModule and templateSheet.CodeModule被设置为null (well Nothing实际上,因为我使用的是 VB.Net)。

所以问题是:这是一个错误还是我在这里做错了什么?更好的是:你能指导完成这个场景的方法吗?


这似乎是一个错误。我在问题中心创建了一个问题epplus项目。它已被标记为resolved

https://epplus.codeplex.com/workitem/15095

我还没有测试新版本。完成后我会提供更新。

Update在最新的消息来源中,这个问题已得到解决。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用新的 CodeModule 从模板复制 ExcelWorkSheet 的相关文章

随机推荐