2013-07-27 2 views
2

Я создал следующую функцию, чтобы открыть .pdf файлы с помощью кнопки на моем WinForm:Функции, чтобы открыть файл .pdf, не открывая файл

Function OpenReports(fileName As String) As String 
    Dim xlWBPath As String 

    Try 
    xlWBPath = Globals.ThisWorkbook.Application.ActiveWorkbook.Path 
    System.Diagnostics.Process.Start(xlWBPath & "\fileName") 
    Catch ex As Exception 
    MsgBox("The " & fileName & "is not found on directory") 
    End Try 
    Return "" 
End Function 

Когда я вызываю функцию здесь:

Private Sub btnRptEmployeePayToMarket_Click(sender As Object, 
          e As EventArgs) Handles btnRptEmployeePayToMarket.Click 
    OpenReports("Ranges to Market.pdf") 
End Sub 

Он попадает в ловушку ошибки. Он не может найти файл. Однако, если вместо запуска функции я делаю это как Private Sub следующим образом:

Private Sub btnRptEmployeePayToMarket_Click(sender As Object, e As EventArgs) Handles btnRptEmployeePayToMarket.Click 
    Dim xlWBPath As String 
    Try 
    xlWBPath = Globals.ThisWorkbook.Application.ActiveWorkbook.Path 
    System.Diagnostics.Process.Start(xlWBPath & "\Ranges to Market.pdf") 
    Catch ex As Exception 
    MsgBox("The file Ranges to Market.pdf is not found on directory") 
    End Try 
End Sub 

тогда он отлично работает. Поэтому я понимаю, что это имеет какое-то отношение к моей функции, но я не могу понять, что это такое.

ответ

3

Если ваш пример кода, как именно вы его в вашей программе, то ваша функция ошибки, она должна выглядеть следующим образом:

Try 

    xlWBPath = Globals.ThisWorkbook.Application.ActiveWorkbook.Path 
    System.Diagnostics.Process.Start(xlWBPath & "\" & fileName) 

Catch ex As Exception 

    MsgBox("The " & fileName & "is not found on directory") 

End Try 

Вы использовали строку "\filename" не обратный слеш в переменную "\" & filename

+1

спасибо. Это было именно так, я не могу поверить, что я пропустил нечто очевидное. –

Смежные вопросы