VBA打印机设置(列出所有打印机名字、选用合适的打印机并设计端口号)

'查看打印机
Sub PrinterDemo()
    Dim WshNetwork As Object
    Dim oPrinter As Object
    Dim i As Long
    Set WshNetwork = CreateObject("WScript.Network")
    Set oPrinter = WshNetwork.EnumPrinterConnections
    For i = 0 To oPrinter.Count - 1
        If i Mod 2 = 0 Then
            Debug.Print "端口:" & vbTab & oPrinter(i)
        Else
            Debug.Print "名字:" & vbTab & oPrinter(i) & vbNewLine
        End If
    Next i
    Debug.Print "默认打印机:" & Application.ActivePrinter  '按照输出的形式设定需要的打印机
    '运行“Regedit”后查找“PrinterPorts”,即可看到每个打印机对应的端口信息。
    '如果点击查找后没有看到,则按F3查找下一个(可能有很多个PrinterPorts)
End Sub
Sub Printer()
    Dim i As Long
    Application.ActivePrinter = "TOSHIBA e-STUDIO2823AMSeries GDI 在 Ne01:"
    For i = 1 To Worksheets.Count
        Worksheets(i).Range("A1:I58").PrintOut from:=1, to:=1
        Application.Wait Now + TimeValue("00:00:10")
    Next i
' 打印
End Sub


'设置打印机端口号
Sub t()
    On Error GoTo myerror
    Dim i As Long
    i = 0
    Do While True
        Application.ActivePrinter = "Microsoft Print to PDF 在 Ne0" & i & ":"
        Exit Do
myerror:
        Resume nextLoop
nextLoop:
        i = i + 1
    Loop
    Debug.Print "正确的打印机为:" & "Microsoft Print to PDF 在 Ne0" & i & ":"
End Sub
### 回答1: VBA 提供了一系列的函数,可以用来设置和控制打印机设置。例如,可以使用 Printer.Orientation 属性来设置打印机的方向,使用 Printer.PaperSize 属性来设置纸张大小,使用 Printer.Copies 属性来设置打印份数等。 ### 回答2: VBA(Visual Basic for Applications)是一种用于自动化任务和编写宏的编程语言,可以在Microsoft Office套件中的各种应用程序中使用。下面是使用VBA设置打印机代码的示例: 首先,我们需要在VBA编辑器中打开您正在使用的应用程序的项目。可以通过按下Alt + F11来快速打开VBA编辑器。 接下来,我们需要确定我们想要设置打印机的名称。可以通过在打印对话框中选择所需的打印机,然后在VBA编辑器中使用以下代码行来确定打印机名称: ```vba Debug.Print Application.ActivePrinter ``` 在“立即”窗口中,会显示当前选定的打印机的名称。请记下该名称。 然后,我们可以使用以下代码行来设置所需的打印机: ```vba Application.ActivePrinter = "打印机名称" ``` 请替换"打印机名称"为您在前面步骤中确定的名称。 最后,您可以测试设置是否成功,通过使用以下代码来打印当前活动工作表: ```vba ActiveSheet.PrintOut ``` 这将直接使用您在前面设置打印机来打印当前活动工作表。 要注意的是,如果您想要设置打印机不是当前默认的打印机,您可能需要在打印之前将其设置为默认打印机。您可以使用以下代码来设置默认打印机: ```vba Application.Printer = Application.Printers("打印机名称") ``` 请将"打印机名称"替换为您要设置为默认打印机打印机的名称。 这些是使用VBA设置打印机的基本步骤。您可以根据自己的需求进一步扩展和自定义这些代码。 ### 回答3: VBA设置打印机代码可以通过使用PrintOut方法来实现。 PrintOut方法用于将指定选定区域的内容发送到默认打印机进行打印。若要指定其他打印选项,可以通过可选的参数来实现。 以下是一个简单的设置打印机代码的示例: Sub 设置打印机() ' 设置打印机为默认打印机 Application.ActivePrinter = "打印机名称" ' 设置打印选项 With ActiveSheet.PageSetup .Orientation = xlLandscape ' 设置横向打印 .PrintArea = "A1:G10" ' 设置打印区域 .FitToPagesWide = 1 ' 将打印内容调整到一页宽度 End With ' 打印选定区域的内容 ActiveSheet.PrintOut copies:=1, Collate:=True ' 恢复默认打印机 Application.ActivePrinter = "默认打印机名称" End Sub 上述代码中,首先使用ActivePrinter属性将指定的打印机设置为默认打印机。然后使用PageSetup对象的属性来设置打印选项,例如设置横向打印、设置打印区域和将打印内容调整到一页宽度等。最后使用PrintOut方法来打印选定区域的内容。打印完成后,可以使用ActivePrinter属性来恢复默认打印机设置。 这是一个简单的设置打印机的示例,你可以根据需要修改代码以满足更复杂的打印需求。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值