• ベストアンサー

ExcelからPDF文書の特定ページにリンクを貼る方法について

エクセルで作成した表のセルから PDF文書にリンクを張りたいと考えています。 そのとき、必要なページを指定してジャンプさせられたら、 と思うのですが・・・。どうしたらいいのか分かりません。 このように指定したページ(例えば50頁中の23頁目)に リンクを張ることは可能でしょうか。 (PDF文書の先頭ページにリンクを張ることはできました) 初心者でよく分からないので、 すみませんが詳しい方、教えてください。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.3

ご確認の2,3は、とくに問題はないと思います。 1につきましては、 Acrobat Reader のタイトルバー左端(アイコンの  右)の表示がそうなっていれば問題ないと思うのですが……。 とりあえず、  SendKeys "^{PGDN}" の部分を  Sendkeys "^{PGDN}", True に書き換えてみてください。 あと、これでも効かないようでしたら、次の内容と差し替えてみてくだ さい。 ' Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink)  AppActivate "Adobe Reader"  SendKeys "+^{n}", True   '●1  SendKeys Selection.Offset(0, 1).Value, True  '●2  SendKeys "~"    '●3 End Sub ' ●ページにジャンプするショートカットキーのキー操作を意味します。   1.[Ctrl]と[Shift]を押しながら[N]を入力      → ページ指定ダイアログの表示。   2.ページ番号の入力   3.[Enter]のクリック  これらの操作が Adobe Reader で有効ならOKなはずなのですが。

kkfsnsk
質問者

お礼

misatoanna さん 後者の方法で指定ページにリンクを貼ることができました (前者ではやはりうまくジャンプできませんでした)。 本当にありがとうございました。 数年来もやもやしていた問題がいっきょに解決されました。 エクセルのマクロって便利ですね。 これまで気にかけたこともありませんでしたが これを機にすこしずつでも勉強してみようと思いました。 それにしても、こんなに親切に 私の課題に付き合ってくださり、本当にありがとうございます。 心より感謝いたします。

その他の回答 (2)

回答No.2

> セルにPDFファイルのハイパーリンクを貼り、その表示内容を > "5"に変更する、という意味でしょうか。 > あるいはリンク先アドレスに"5"を追加するという意味でしょうか。 ハイパーリンクの表示内容を 5 にしても、単純に「リンクの張られてい るセルに 5 を入力」しても同じく動きます。 あと、 AppActivate "Adobe Reader" の部分ですが、ここでは、PDF 表示用のソフトとして Adobe Reader を使用しているという前提で記述 しました。 ここでよく考えると、リンクを張ったセルにはリンク先ファイル名など の表示をしておくことも必要でしょうから、リンクを張ったセルの右隣 セルに 5 を入力し、モジュールも次のように変更したほうがよいと思い ます。 For i = 1 To Selection.Value - 1           ↓ For i = 1 To Selection.Offset(, 1).Value - 1

kkfsnsk
質問者

補足

misatoanna さん 再びアドバイスいただき、ありがとうございます。 何度も試してみたのですが、やはりPDF文書の冒頭にジャンプしてしまいます。。 そこですみませんが、確認させてください。 1.PDFの表示にはAdobe Readerを利用していますが、バージョン(ちなみに私のPCでは7.0です)を指示する必要はないでしょうか。 2.コピペする箇所について、冒頭の符号(「’」)や文字下げ(全体に半角で2字分ほど下がっているようです)もそのままコピペしてよいのでしょうか。 3.コマンドの入力にはMicrosoft Visual Basicの画面が立ち上がります。入力後、保存せずに右上の「閉じるボタン」で終了させてしまっていいのでしょうyか。 特にエラーメッセージなどは表示されません。 何かエクセルの設定などの問題で うまく動作しない要因が何か考えられますでしょうか。 仕事上、何とかものにしたい機能ですので、 お手数をかけますがご回答下さると助かります。 どうぞよろしくお願いします。

回答No.1

オフィスソフトどうしと異なりハイパーリンクのブックマーク機能が 使えませんので、次のようにマクロを併用されたらいかがでしょうか。 PDFの5ページ目を開きたい場合 1.PDFファイルにリンクを張ってあるセルに 5 を入力します。 2.シートタブを右クリックして「コードの表示」を選択します。 3.表示されるウィンドウには、以下をコピペして閉じます。  '  Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink)   Dim i   AppActivate "Adobe Reader"   For i = 1 To Selection.Value - 1    SendKeys "^{PGDN}"   Next  End Sub ここでリンクセルをクリックしてみてください。

kkfsnsk
質問者

お礼

misatoanna さん ありがとうございます。 さっそく試してみましたが、うまくゆきません (やはり1頁目が開いてしまいます)。 アドバイス中の1.についてですが、 セルにPDFファイルのハイパーリンクを貼り、 その表示内容を「5」に変更する、という意味でしょうか。 あるいはリンク先のアドレスに「5」を追加するという意味でしょうか。 ご教示いただけると幸いです。 よろしくお願いします。

関連するQ&A

専門家に質問してみよう