ハイパーリンクではありませんが、昔調べたのを引っ張り出して来ました。
Adobe Reader 9, xl2010, WindowsXPSP3で動作しました。
数年前に試したときは、安定性に欠けた記憶がありますが、ご参考まで。
1.pdfと、エクセルのファイルは同じフォルダーにあるとします。
2.エクセルのあるセルにファイル名、右隣のセルに目的のページの番号があるとします。
3.ファイル名のセル上での、シートのWクリックイベントで動作させます。
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim readerPath As String
Dim pdfPath As String
Dim myChan As Long, rc As Long, targetPage As Long
If LCase(Right(Target.Value, 4)) <> ".pdf" Then Exit Sub
targetPage = Target.Offset(0, 1).Value
'Adobe Readerのプログラムの本体、AcroRd32.exeのフルパスを記述します。
readerPath = "C:\Program Files\Adobe\Reader 9.0\Reader\AcroRd32.exe"
pdfPath = ThisWorkbook.Path & "\" & Target.Value
rc = Shell(readerPath, 1)
myChan = DDEInitiate("Acroview", "Control")
DDEExecute myChan, "[DocOpen(""" & pdfPath & """)] "
DDEExecute myChan, "[DocGoTo(NULL," & CStr(targetPage - 1) & ")]"
AppActivate rc, True
DDETerminate myChan
Cancel = True
End Sub
お礼
ご回答ありがとうございました。 しかし、私にはレベルが高すぎて残念ながら意味がわかりません。 1.『シートのWクリックイベント』で何を動作させるのでしょうか。 2.下のプログラムはVBAでしょうか。 というレベルです。 調査いただきありがとうございました。