求助各位大神自动保存问题:测试发现还需要手动输入文件名进行保存,为什么还要手动指定文件名?
在vfp9环境下,有很多dyzkz_开头的表,分别用作报表dy01tcz.frx的数据环境通过Microsoft Print to PDF虚拟打印机打印输出并自动保存为同文件名的PDF格式文档,DS给出的代码如下:LOCAL lcTableName, lcPDFFileName, lcReportName, lcPrinterName
* 设置报表文件名
lcReportName = "dy01tcz.frx"
* 设置虚拟打印机名称
lcPrinterName = "Microsoft Print to PDF"
* 获取当前目录下的所有符合要求的表文件
LOCAL ARRAY laTables[1]
ADIR(laTables, "dyzkz_*.dbf")
* 遍历每个表文件
FOR i = 1 TO ALEN(laTables, 1)
lcTableName = laTables[i, 1]
* 生成对应的 PDF 文件名
lcPDFFileName = STRTRAN(lcTableName, ".dbf", ".pdf")
* 设置数据环境
USE (lcTableName) ALIAS tempTable
* 设置默认打印机为 Microsoft Print to PDF
SET PRINTER TO NAME (lcPrinterName)
* 配置打印机输出路径(需要调用 Windows API 或外部工具)
* 这里假设你已经通过其他方式配置了虚拟打印机的默认保存路径
* 生成报表并输出为 PDF
REPORT FORM (lcReportName) TO FILE (lcPDFFileName) NOCONSOLE NOEJECT
* 关闭表
USE IN tempTable
ENDFOR
代码哪里有问题?