Lev*_*von 3 printing ms-access win32com python-3.x
我有大约 30 个.accdb文件,全部包含一个同名的报告。我想自动将报告保存为 PDF 以便后续打印。就这样,无需查询,无需修改,只需将保存的报告打印为 PDF。
我可以成功打开数据库,但我不知道如何执行其余操作。
import win32com.client
a = win32com.client.Dispatch("Access.Application")
a.visible = 1
filename = r'C:\bla\Exam_1\PrintTest\db.accdb'
db = a.OpenCurrentDatabase(filename)
report_name = 'My_Report'
a.Quit()
Run Code Online (Sandbox Code Playgroud)
FWIW,我是一名老师,这将帮助我对提交的材料进行评分,并减轻学生在考试结束时打印的负担。使用 Windows 10。
我愿意使用任何其他脚本语言(powershell?),这将帮助我轻松地自动执行此任务。
您可以使用DoCmd.OpenReport自动打开和打印报告。
import win32com.client
a = win32com.client.Dispatch("Access.Application")
a.visible = 1
filename = r'C:\bla\Exam_1\PrintTest\db.accdb'
db = a.OpenCurrentDatabase(filename)
report_name = 'My_Report'
a.DoCmd.OpenReport('My_Report')
a.Quit()
Run Code Online (Sandbox Code Playgroud)
默认情况下,DoCmd.OpenReport将使用报告设置中指定的打印机打印报告。我有代码可以在打印预览中打开它并指定打印机。
如果您想导出为 PDF,您也可以自动执行:
import win32com.client
a = win32com.client.Dispatch("Access.Application")
a.visible = 1
filename = r'C:\bla\Exam_1\PrintTest\db.accdb'
db = a.OpenCurrentDatabase(filename)
report_name = 'My_Report'
a.DoCmd.OutputTo(3, report_name, r'PDF Format (*.pdf)', r'C:\Path\To\file.pdf')
a.Quit()
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1325 次 |
| 最近记录: |