【问题标题】:MS ACCESS: Change default printer via VBAMS ACCESS:通过 VBA 更改默认打印机
【发布时间】:2015-05-27 14:18:56
【问题描述】:

我有一个小应用程序,可以将默认打印机更改为 Ithica 票据打印机,然后打印一些信息并重置为默认打印机。该程序将在三个不同的工作站使用,每个工作站都有自己的票据打印机。

以下是我当前的代码尝试,其中炸弹。怎么了?

"application.Printer = application.Printers(tempTicket)"

使用“设备和打印机”中的打印机名称

   Private Sub Printfoundcardbtn_Click()
   Dim stEnviron As String
   Dim tempTicket As String
   '----- get the Computer Name
       stEnviron = Environ$("COMPUTERNAME")
'-------------Set ticket printer associated with "COMPUTERNAME"
        Select Case [stEnviron]
    Case "MyComputer"
        tempTicket = "Ithaca USB Printer"
    Case "SSP-REG1"
        tempTicket = "Ithaca USB Printer"
    Case "SSPREGA2"
        tempTicket = "ITherm610"

 End Select


    '-----------------------------------------------------------------
    '-------Set to ticket printer then back to Default---------------------------
    '------------------------------------------------------------------

     Dim prt As Printer
     ' Get current default printer
     Set prt = Application.Printer
     ' Set default printer
     application.Printer = Application.Printers(tempTicket)
     ' Print something, e.g.
     DoCmd.OpenForm "couponPrintFForm"
     '
     DoCmd.PrintOut acPages = 1
          ' Restore original printer
     Set Application.Printer = prt
     DoCmd.Close acForm, "couponPrintFForm", acSave = yes


End Sub

【问题讨论】:

    标签: vba ms-access


    【解决方案1】:
    Dim prn As Printer
    Dim printerFound As Boolean: printerFound = False
    
    For Each prn In Application.Printers
        If prn.DeviceName = tempTicket Then
            Application.Printer = prn
            printerFound = True
            Exit For
        End If
    Next
    
    If Not printerFound Then
        ' Handle Printer Not Found Error
    End If
    

    您没有正确分配 Application.Printer,如果您使用上述方法,它将查找 tempTicket 中命名的打印机,如果找到,则将 Access 设置为将其用作默认打印机。如果没有找到打印机,那么您可以根据需要处理错误。

    【讨论】:

      猜你喜欢
      • 2020-03-14
      • 2012-01-23
      • 2018-02-05
      • 1970-01-01
      • 2017-03-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多