用于从Excel报告创建PDF文件的体系结构

时间:2012-12-13 10:03:37

标签: c# excel vba

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

  1. C#控制台C打开xl工作簿A
  2. C然后运行A的宏M,它将目标工作表保存为使用VBA的PDF
  3. C然后使用PDFsharp加密PDF文件。
  4. C然后通过电子邮件发送此文件。
  5. 目前此过程适用于一个报告,因此如果体系结构不是教科书则没有问题。

    我想在未来可能会有许多不同工作簿中的许多目标工作表都会出现在很多不同的收件人身上。如果是这种情况,则需要执行步骤2,因为我不希望将此VBA代码复制到每个目标工作簿中!我可以想象的唯一选择是因为我的经验有限:

    1. 从Excel中取出当前的VBA代码并使用Excel.Interops
    2. 的引用将其移至C

      假设目标工作表是完成的文章,即在转到PDF之前不需要进一步操作,上面是将此步骤移出VBA并进入控制台的正确方法,或者我应该使用不同的库创建PDF ?

1 个答案:

答案 0 :(得分:0)

尽力而为选项是将代码从工作表移动到VBA加载项中,方法是删除所有工作表/数据,然后使用'另存为'将工作簿转换为加载项,然后您可以将其加载到Excel中并始终可用。根据您的编写方式,可能需要进行一些更改,但它们不会像c#的端口一样大。

也就是说,将代码集中在一个地方将使整个过程在未来更容易照顾。此外,您已经拥有自动化excel的C#代码来启动VBA,因此如果您有时间,最好立即执行此操作。