Проблема с командой 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(), Ошибки новичка наверняка... ха-ха

Другие вопросы по тегам