0

我正在创建一个 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 命令的正确参数是什么?导致问题的逻辑是否存在问题?

4

1 回答 1

0

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

一方面,我传递的报告名称不包括完整的文件路径。另一件事是我从未使用a.Start(). 菜鸟肯定会犯错……哈哈

于 2012-09-14T17:58:31.790 回答