Проблема с командой LPR в VB
Я создаю приложение 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? Есть ли проблема с логикой, которая вызывает проблему?
1 ответ
Я продолжал возиться и смотреть на свой ссылочный код и обнаружил некоторые недостатки в логике:
Во-первых, передаваемое мной имя отчета не содержало полного пути к файлу. Другое дело, что я никогда не начинал процесс с a.Start()
, Ошибки новичка наверняка... ха-ха