VBA自动打印PDF的页面范围

时间:2019-03-26 14:36:56

标签: vba pdf

在工作中,由于多种原因,电子邮件附件的大小限制为10 Mo:

  • Outlook是共享文件的唯一方法
  • 我只能使用已经安装的程序

我正在尝试创建一个VBA宏:

  • 通过将10毫米以上的PDF打印到较小的文件中,自动将它们分割开
  • 将它们合并在另一端

我知道这远非理想(有很多工具可以做到),但是我没有其他选择。

到目前为止,似乎我只能使用PDFCreator和Adobe Reader来完成此任务,因为在我的PC(主要是Office)上没有部署任何其他有用的工具...而且我无法找到使用命令行的方法页面的打印范围。

我成功地基于Shell命令和SendKeys VBA创建了一个有效的(非常)优雅的宏,基本上模拟了人类对打印范围A的交互,然后等待工作完成,他们打印了范围B,依此类推。我现在应该解决的许多问题中:

  • 增加保护以考虑具有不同处理能力的计算机(将我的时间替换为文件创建验证并检测作业是否仍在后台运行)
  • 在接收邮件时创建一个强大的合并系统

另外,我非常依赖于所安装的软件版本,并且如果要由很多人使用此宏,我预见到软件更新/版本方面的很多问题。

因此,这种方法目前还没有光明的前途,除非我找到其他解决方法,否则我可能会放弃并继续手动进行此操作(毕竟,如果我的雇主没有提供更好的解决方案,工具,我不应该期望我能达到最高的效率。

您对如何巧妙地解决此问题有任何见解吗? (是的,我已经告诉我的老板,像这样的工作是一场噩梦,但是轻松进行文件交换并不是当务之急。)

1 个答案:

答案 0 :(得分:0)

我设法使用 7-zip 及其命令行中的“ -v”选项解决了我的问题:我将大文件拆分为较小的二进制文件,并自动将它们作为附件创建新邮件。