【发布时间】: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