0

我有 1 个例程,其结构如下:

  1. C#控制台 C 打开xl工作簿 A
  2. C 然后运行 ​​A 的宏 M,它使用 VBA 将目标工作表保存为 PDF
  3. C然后使用PDFsharp加密PDF文件。
  4. C 然后通过电子邮件发送此文件。

目前,此过程适用于一份报告,因此如果体系结构不是教科书,则没有问题。

我想在未来,许多不同的工作簿中可能会有许多目标工作表,所有这些工作表都会发送给许多不同的收件人。如果是这种情况,则需要执行第 2 步,因为我不想将此VBA代码复制到每个目标工作簿中!由于我的经验有限,我能想象的唯一选择如下:

  1. 从 Excel 中取出当前的 VBA 代码,并使用对Excel.Interops

假设目标工作表是完成的文章,即在转到 PDF 之前不需要进一步操作,以上是将这一步从 VBA 移到控制台的正确方法,还是应该使用不同的库创建 PDF?

4

1 回答 1

0

最省力的选择是通过删除所有工作表/数据将代码从工作表移动到 VBA 加载项,然后使用“另存为”将工作簿转换为加载项,然后您可以将其加载到 excel 中并将一直可用。根据您编写它的方式,可能需要进行一些更改,但它们不会像 c# 的端口那么大。

也就是说,将代码全部放在一个地方将使整个过程在未来更容易处理。另外,您已经获得了 C# 代码自动化 excel 来触发 VBA,因此如果您有时间,现在可能会更好。

于 2012-12-13T11:46:11.083 回答