- ベストアンサー
EXCELからPDF特定ページへのリンクの張り方
EXCELのあるセルからPDFの特定のページにリンクを張りたいのですがどうすればよいのでしょうか。 EXCELのセル選択後、「挿入」→「ハイパーリンク」、「ハイパーリンクの挿入」画面でファイルを選ぶとリンクは張れるのですが先頭ページに張られます。 OSはXp、EXCELは2003です。 よろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
ハイパーリンクではありませんが、昔調べたのを引っ張り出して来ました。 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)
- mitarashi
- ベストアンサー率59% (574/965)
#1です。 イベントについては参考URLでもご覧下さい。 http://www.eurus.dti.ne.jp/~yoneyama/Excel/vba/vba_event.html 念のために、Alt + F11 キーを押すとVBEの画面が表示されます。
お礼
おっしゃりたいことはわかりました。ただ私がやるとエラーが出てきましたので、これはもう少し時間をかけて考えようと思います。とりあえずお礼を述べさせていただきます。ありがとうございました。
お礼
ご回答ありがとうございました。 しかし、私にはレベルが高すぎて残念ながら意味がわかりません。 1.『シートのWクリックイベント』で何を動作させるのでしょうか。 2.下のプログラムはVBAでしょうか。 というレベルです。 調査いただきありがとうございました。