投稿者 Na  (社会人) 投稿日時 2010/6/15 10:07:05
VB(Visual Studio2008)でPdfファイルを関連付けされたアプリケーションで開く際に
ページを指定して開きたいです。

現在は、以下コードでPdfは開くのですが、ペース数を指定して開く方法がわかりません。
ネット検索すると、html内ではファイル名の後に#page=4等でページ数を指定可能との
記述がありましたが、
Link = "D:\Test\Test.pdf"
行を
Link = "D:\Test\Test.pdf#page=4"
のように変えてもダメでした。

よい方法があればご教授ください。

Public Class Form1

    Declare Function GetDesktopWindow Lib "user32" () As Integer
    Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" _
    (ByVal hWnd As Integer, ByVal lpOperation As String, ByVal lpFile As String, _
    ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Integer) As Integer

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

        Const SW_NORMAL As Integer = 5
        Dim L As Integer
        Dim Link As String

        Link = "D:\Test\Test.pdf"
        L = ShellExecute(GetDesktopWindow, "open", Link, vbNullString, vbNullString, SW_NORMAL)
        If L <= 31 Then
            Dim Msg As String
            Msg = "pdfファイルに関連づけられたアプリケーションが見つかりません"
            MsgBox(Msg, vbOKOnly + vbExclamation)
        End If

End Sub
End Class