Ms access 将报告另存为pdf
目前我正在使用pdfcreator将报告转换为pdf格式。由于这必须手动完成,我正在寻找一个解决方案,以自动保存为pdf文件的报告。代码应该在access 2000和更新版本中工作 我以前使用过这种方法: 这是我用来自动打印Microsoft Access的方法 PDF格式的报告,即无人参与且无烦人的“另存为…” 对话,更重要的是,不必使用广告 程序,如Adobe Acrobat及其相关API 该技术使用Ghostscript和重定向端口监视器-两个免费 创建PDF文档的程序由Russell Lang免费提供 实际的自动化需要使用FileSystemObject进行VBA编码, 网络(Windows脚本主机网络对象)和访问 自动化 说明: 1) 安装Ghostscript -Postscript语言和PDF的解释器 2) 安装RedMon-重定向端口监视器 -将特殊打印机端口重定向到程序(例如 (鬼脚本) 3) 使用Ghostscript和Redmon设置虚拟PDF打印机 -下面是两个网页,介绍如何安装 上述工具: http://stat.tamu.edu/~henrik/GSWriter/GSWriter.html 4) 在中配置PDF虚拟打印机使用的RedMon打印机端口 以下方式: -输出:“程序处理输出” -新的PDF文件应始终保存到同一文件,即。 C:\temp\output.pdf 将其用于“程序参数”设置: @c:\gs\pdfconf.txt-sOutputFile=“c:\temp\output.pdf”-c.setpdfwrite -f- (注意文本文件路径而不是“%1”) 5) 编写自己的Visual Basic代码,将报告打印到pdf 然后使用FileSystemObject将其复制到 选择。使用WScript.Network对象更改默认打印机 从通常的默认打印机切换到PDF打印机,然后再切换回来 示例代码(Access Visual Basic): 要使前面的代码在Access 2000中工作,必须添加 对Microsoft脚本运行时和Windows脚本主机的引用 对象模型 到目前为止,我的经验是子例程DoCmd.OpenReport()完成 将报告快速输出为PDF…但是,如果您有 当FileSystemObject 转到移动/重命名它。因此,您可能希望使用Windows API Sleep()函数。 见<> 编写一个打印出多个报告的例程是一个简单的任务 练习给读者听。就我个人而言,我更喜欢把我的报告保存在 表名为“设置报告”,而不是硬编码报告名称 进入我的VBA模块 其他提示:Ms access 将报告另存为pdf,ms-access,vba,pdf,Ms Access,Vba,Pdf,目前我正在使用pdfcreator将报告转换为pdf格式。由于这必须手动完成,我正在寻找一个解决方案,以自动保存为pdf文件的报告。代码应该在access 2000和更新版本中工作 我以前使用过这种方法: 这是我用来自动打印Microsoft Access的方法 PDF格式的报告,即无人参与且无烦人的“另存为…” 对话,更重要的是,不必使用广告 程序,如Adobe Acrobat及其相关API 该技术使用Ghostscript和重定向端口监视器-两个免费 创建PDF文档的程序由Russell L
- 使用
自动发送新创建的 向经理汇报DoCmd.SendObject()
- 使用PDF工具包将不同的PDF报告合并到一个文件中
网址:
也可以使用VBA Shell()函数或在
通过
WScript.Shell.Run()方法创建VBScript
- 使用VBScript自动访问,就像Excel或Word一样。 请参阅以下Microsoft知识库文章: ACC:使用Microsoft Access作为自动化服务器
- 运行setup.exe时,您将只看到一个消息框
- 打印机的驱动程序必须用于/color postscript/ 打印机我选择了HP彩色激光喷射4550 PS
- 将打印机端口设置为RPT1:(重定向端口)
CyranoVR@gmail.com我以前使用过这种方法: 这是我用来自动打印Microsoft Access的方法 PDF格式的报告,即无人参与且无烦人的“另存为…” 对话,更重要的是,不必使用广告 程序,如Adobe Acrobat及其相关API 该技术使用Ghostscript和重定向端口监视器-两个免费 创建PDF文档的程序由Russell Lang免费提供 实际的自动化需要使用FileSystemObject进行VBA编码, 网络(Windows脚本主机网络对象)和访问 自动化 说明: 1) 安装Ghostscript -Postscript语言和PDF的解释器 2) 安装RedMon-重定向端口监视器 -将特殊打印机端口重定向到程序
Sub PrintReportToPDF(strReport as String, _
strOutputPath as String)
Const PDF_PRINTER as String = "PDF Printer"
Const ORIGINAL_PRINTER as String = "\\OFFICE\HP1320"
Const TEMP_PATH as String = "C:\temp\output.pdf"
Dim net as WScript.Network
Dim fso as Scripting.FileSystemObject
Set net = new WScript.Network
net.setDefaultPrinter PDF_PRINTER
DoCmd.OpenReport strReport
Set fso = New Scripting.FileSystemObject
fso.CopyFile TEMP_PATH, strOutputPath, True
fso.DeleteFile TEMP_PATH
Set fso = Nothing
net.setDefaultPrinter ORIGINAL_PRINTER
Set net = Nothing
End Sub
dim acc
set acc = CreateObject("Access.Application")
with acc
..OpenCurrentDatabase "C:\Reports\Sales.mdb"
' Call the customer subroutine we defined earlier
..Run("PrintReportToPDF", "rptSalesFigures_Monthly", _
"N:\Marketing\Reports\SalesSummary" _
& Year(Date()) & Format(Month(Date()),"00")
[Etc...]