我正在创建一个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.exe
问题:传递给这个lpr命令的正确参数是什么?导致问题的逻辑是否有问题?
发布于 2012-09-15 01:58:32
我继续修补和查看我的参考代码,发现了一些逻辑上的缺陷:
首先,我传递的报告名称没有包含完整的文件路径。另一件事是,我从来没有用a.Start()启动过这个过程。新手犯错是肯定的。哈哈
https://stackoverflow.com/questions/12426765
复制相似问题