| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
共有 1320 人关注过本帖
标题:求助各位大神自动保存问题:测试发现还需要手动输入文件名进行保存,为什么 ...
取消只看楼主 加入收藏
nybdx
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2011-3-22
结帖率:0
收藏
已结贴  问题点数:20 回复次数:5 
求助各位大神自动保存问题:测试发现还需要手动输入文件名进行保存,为什么还要手动指定文件名?
在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

代码哪里有问题?
2025-03-04 09:25
nybdx
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2011-3-22
收藏
得分:0 
谢谢两位!ds弄了很长时间也不行
2025-03-05 15:33
nybdx
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2011-3-22
收藏
得分:0 
回复 6楼 nbwww
多谢!
试了一下,运行时提示如图:
图片附件: 游客没有浏览图片的权限,请 登录注册
2025-03-10 08:46
nybdx
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2011-3-22
收藏
得分:0 
谢谢各位的参与与指导!
2025-03-10 08:46
nybdx
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2011-3-22
收藏
得分:0 
回复 7楼 sam_jiang
多谢!
运行提示如下图:
图片附件: 游客没有浏览图片的权限,请 登录注册
2025-03-10 08:49
nybdx
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2011-3-22
收藏
得分:0 
没有,win10、win11里面自带的可以用,想下一个microsoft print to pdf在win7上用,一直没找到
4 天前 16:42
快速回复:求助各位大神自动保存问题:测试发现还需要手动输入文件名进行保存,为 ...
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.032794 second(s), 10 queries.
Copyright©2004-2025, BC-CN.NET, All Rights Reserved