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