首先,这个问题并不是要讨论 C# 与 VBA 的整体优点。我有一个项目,其中有一些更适合 C# 的部分和其他似乎更适合 VBA 的部分,我正在尝试找出如何最好地构建我的开发,因为我没有时间以几种不同的方式构建它并且看看哪个更快。我在这里发布这个问题是因为我可能没有考虑过一种语言的某些东西,这显然使它成为该项目更具吸引力的选择。
该项目:
通过 Web 服务查询或刷新链接到该列表的 Excel 工作表的内容,从 Sharepoint 列表中获取数据集。
使用集合字段之间的不等关系将 Sharepoint 数据集连接到工作簿文件名的 Excel 数据集。这将是多对多的。
对于每组匹配项中的每个工作簿,将其部分数据导出到不同文件夹中的新工作簿,以便每个匹配组位于其自己的文件夹中。
将所有文件夹压缩到一个存档中。
第 1 步似乎 .NET 或 VBA 都可以满足要求。第 2 步似乎更适合 C#,因为它涉及使用 LINQ 而不是一堆 VBA 循环更容易完成的连接查询。第 3 步涉及 Excel 数据传输,这使 VBA 成为更好的候选者,因为我读过很多帖子都同意 VBA 比 .NET Interop for Office 操作更快。第 4 步似乎在 C# 中会更好,因为我可以使用 DotNetZip 而不必依赖 shell 命令。
但是 C# 和 VBA 的混合比单一语言解决方案更不方便维护。所以我不确定我应该采取什么方法。