从VBS将字符串打印到默认打印机

时间:2019-09-13 14:18:08

标签: string printing vbscript default

我正在尝试使用包含文本(而不是文本文档)的变量从VBS打印到默认打印机。出于优化原因,我试图不使用命令行或文本文档。

我找到了一个脚本,该脚本解释了一种在网络打印机上执行此操作的方法,这是最佳选择,但是我无法使其正常工作。

此外,它的端口标记为LPT,这令人困惑,因为它应该是TCP端口。另外我也不知道为什么端口只能是1到4,而端口应该是9100。

https://social.technet.microsoft.com/Forums/office/en-US/1bd2f46e-8d87-4dfe-9ced-ea257d24b296/need-to-send-raw-data-to-a-printer-in-the-network?forum=ITCG

sPrtName = "\\xxx.xxx.xxx.xxx\Printer"
nPort = 9100 ' pick 1 to 4
Set oPrt = GetPrtPort(sPrtName, nPort)
oPrt.Write "'" & strFileText  & "'"
oPrt.Close
RemovePort nPort

Function GetPrtPort(sPrtSpec, nPortNumb)
    Dim sPort: sPort = "TCP" & nPortNumb

    With CreateObject("WScript.Network")
        On Error Resume Next
        .RemovePrinterConnection sPort
        .AddPrinterConnection sPort, sPrtSpec
        On Error Goto 0
        Set GetPrtPort = CreateObject("Scripting.FileSystemObject").OpenTextFile("\\xxx.xxx.xxx.xxx\label.txt", 1)
        strFileText = GetPrtPort.ReadAll()
        strFileText = Replace(strFileText, "QUANTITY", "9999999999" )
    End With
End Function

Sub RemovePort(nPortNumb)
    Dim sPort: sPort = "TCP" & nPortNumb

    On Error Resume Next
    CreateObject("WScript.Network").RemovePrinterConnection sPort
    On Error Goto 0
End Sub

0 个答案:

没有答案
相关问题