首页 > 解决方案 > 如何使 vbs 脚本文件 (.vbs) 等到 PDF 打印机另存为弹出窗口?

问题描述

我能够使用批处理文件(.bat)和相关文件,通过该软件中的“文件>保存JPG”自动从高速公路建模软件(即SATURN)创建jpg图像地图输出(.jpg),没有任何问题。它与循环功能很好地重复此过程。

现在,我想自动创建 pdf 地图输出 (.pdf),这比上述过程更棘手。创建 pdf 输出的手动方法是在此软件中打开 SATURN 文件,根据我的喜好修改屏幕,单击此软件中的“文件 > 打印图形”,选择 pdf 阅读器打印机(来自 C:\Program Files \Tracker Software\PDF-XChange Standard\pdfSaver.exe)在打印机设置弹出窗口中(正如您在请求打印时在任何其他应用程序中看到的那样),按“打印”按钮,在“另存为”中键入 pdf 文件名” 弹出窗口,按“保存”按钮并等待创建 pdf 文件。

但是,我需要创建许多 pdf 地图输出,这意味着要多次重复此手动过程,这将需要很长时间。在尝试使其完全自动化的同时,我在批处理文件的一部分(最初用于上述 jpeg 图像映射输出的创建)中添加了一项功能,以打印到文本文件(“temp_pdfprinting.txt”),转换它到以下 vbs 脚本文件(“temp_pdfprinting.vbs”),然后将其作为批处理文件运行的一部分打开以创建 pdf 输出。它几乎可以工作 - 但它还没有。我尝试在 vbs 脚本文件中添加“Do”作为第一行,将“Loop”作为最后一行添加,但后来我的电脑崩溃了!

我的问题是:如何让这个 vbs 脚本文件等到该打印机设置弹出窗口,然后在创建 pdf 文件时弹出“另存为”并关闭,而不会出现任何中断(例如从下一个 pdf 地图输出创建)?

Set WshShell = WScript.CreateObject("WScript.Shell") 
WshShell.SendKeys "C:\Modelling\SATURN models\Outputs\DelayPlot_DS2030AM_LocalExtent.pdf" 
WshShell.SendKeys "{ENTER}" 

标签: pdfvbscript

解决方案


推荐阅读