Office中国论坛/Access中国论坛

标题: 报表指定打印机,如何在VBA写入打印机名称 [打印本页]

作者: yanwei82123300    时间: 2023-2-14 14:00
标题: 报表指定打印机,如何在VBA写入打印机名称
各位老师,请问在窗体进行打印报表时候,如何使用VBA代码指定打印机名称进行打印,EXCEL中有一段代码是指定打印机名称进行直接打印
EXCEL VBA
ActiveWindow.SelectedSheets.PrintOut Copies:=IntCopy, Collate:=True, ActivePrinter:="你需要指定的打印机"
Access VBA如何写呢?请看看,谢谢

作者: yanwei82123300    时间: 2023-2-14 14:10
公司网络打印机有12个,每次打印预览后进行选择,太麻烦了,想在窗体打印命令按钮里面将指定的打印机名称写入,,然后进行直接打印.不知可不可以,谢谢
作者: gaofei186    时间: 2023-2-14 16:37
你把某一个要用的打印机设定位默认打印机,就可以了
作者: yanwei82123300    时间: 2023-2-15 13:43
gaofei186 发表于 2023-2-14 16:37
你把某一个要用的打印机设定位默认打印机,就可以了

gaofei186老师,我想使用VBA在不修改默认打印机的基础上进行打印,,请问如何做到呢?
作者: huanghyd    时间: 2023-2-15 14:09
您可以使用 VBA 代码来指定打印机名称并直接打印。
以下是一个示例代码,假设您有一个名为 "cmdPrint" 的打印命令按钮和一个名为 "cboPrinter" 的下拉列表框,其中列出了您要使用的所有打印机的名称。请根据您的需要进行修改。
在这个示例代码中,您需要将 "YourReportName" 替换为您要打印的报表名称。
当用户单击 "cmdPrint" 按钮时,代码将从下拉列表框 "cboPrinter" 中获取选择的打印机名称。如果用户没有选择打印机,则会弹出一个消息框提示用户选择打印机,并退出过程。然后,代码将打开报表,设置所选打印机,打印整个报表,关闭报表并结束过程。
请注意,打印机名称必须与 Windows 操作系统中列出的完全相同。如果打印机名称不正确,代码将无法打印。

Private Sub cmdPrint_Click()
    Dim selectedPrinter As String
    selectedPrinter = Me.cboPrinter.Value
   
    ' 检查是否已选择打印机
    If selectedPrinter = "" Then
        MsgBox "Please select a printer."
        Exit Sub
    End If
   
    ' 为报表设置打印机
    DoCmd.OpenReport "YourReportName", acViewNormal
    Reports("YourReportName").Printer = selectedPrinter
   
    ' 打印报告
    DoCmd.PrintOut acPrintAll
   
    ' 关闭报告
    DoCmd.Close acReport, "YourReportName"
End Sub
作者: yanwei82123300    时间: 2023-2-15 14:11
huanghyd 发表于 2023-2-15 14:09
您可以使用 VBA 代码来指定打印机名称并直接打印。
以下是一个示例代码,假设您有一个名为 "cmdPrint" 的 ...

huanghyd老师谢谢您的帮助,




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3