【问题标题】:Issue with an LPR Command in VBVB中的LPR命令问题
【发布时间】:2012-09-15 01:58:31
【问题描述】:

我正在创建一个 VB 应用程序,它会将 xls 报告从目录“移动”到 ReportSafe 应用程序。我还在一个现有的 VB 应用程序中工作,它就是这样做的,所以我将其用作参考。

这并不像将文件从一个目录移动到另一个目录那么简单,因为 ReportSafe 需要一个 lpr 命令来告诉它 (ReportSafe) 要拾取哪个文件。

这是我目前所拥有的:

Imports System.IO
Module Module1

Sub Main()

    ''Declarations
    Dim Files As ArrayList = New ArrayList()
    Dim FileName As String

    ''Write All Files in *directory* to ReportSafe
    Files.Clear()
    Files.AddRange(Directory.GetFiles(*directory*))
    For Each FileName In Files

        Dim RPname As String
        Dim RealName As String
        RPname = FileName.ToString
        RealName = "/"
        RealName = RealName & RPname.Remove(0, 34)

        Dim a As New Process
        a.StartInfo.FileName = "C:\Windows\system32\lpr.exe"
        a.StartInfo.Arguments = "-S*ServerName* -Plp -J" & Chr(34) & RealName & Chr(34) & " " & Chr(34) & RPname & Chr(34)
        a.StartInfo.UseShellExecute = False

    Next
End Sub

End Module

整个 lpr 命令/参数让我陷入了循环。我不确定我的问题是否特定于 ReportSafe,如果是这种情况,我可能在这里不走运。我已经从现有的应用程序中提取了这段代码,该应用程序将报告移动到 ReportSafe,并为我自己的使用进行了调整,但到目前为止还没有运气。

仅供参考,我必须打开 LPR Monitor 服务才能获取 lpr.exe

问题: 传递给这个 lpr 命令的正确参数是什么? 导致问题的逻辑是否存在问题?

【问题讨论】:

  • @HansPassant 我已经安装了它,只安装了一次。从 .NET 应用程序使用它有什么不正确的地方?

标签: vb.net file-transfer lpr


【解决方案1】:

我继续修改并查看我的参考代码,发现了一些逻辑缺陷:

首先,我传递的报告名称不包括完整的文件路径。 另一件事是我从来没有用a.Start() 开始这个过程。菜鸟肯定会犯错……哈哈

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-03-03
    • 2011-03-28
    • 2022-06-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多