プロが教える店舗&オフィスのセキュリティ対策術

エクセルで作成した表のセルから
PDF文書にリンクを張りたいと考えています。

そのとき、必要なページを指定してジャンプさせられたら、
と思うのですが・・・。どうしたらいいのか分かりません。
このように指定したページ(例えば50頁中の23頁目)に
リンクを張ることは可能でしょうか。
(PDF文書の先頭ページにリンクを張ることはできました)

初心者でよく分からないので、
すみませんが詳しい方、教えてください。
よろしくお願いします。

A 回答 (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なはずなのですが。
    • good
    • 6
この回答へのお礼

misatoanna さん

後者の方法で指定ページにリンクを貼ることができました
(前者ではやはりうまくジャンプできませんでした)。
本当にありがとうございました。

数年来もやもやしていた問題がいっきょに解決されました。
エクセルのマクロって便利ですね。
これまで気にかけたこともありませんでしたが
これを機にすこしずつでも勉強してみようと思いました。

それにしても、こんなに親切に
私の課題に付き合ってくださり、本当にありがとうございます。
心より感謝いたします。

お礼日時:2007/05/20 12:33

> セルに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

この回答への補足

misatoanna さん

再びアドバイスいただき、ありがとうございます。
何度も試してみたのですが、やはりPDF文書の冒頭にジャンプしてしまいます。。

そこですみませんが、確認させてください。
1.PDFの表示にはAdobe Readerを利用していますが、バージョン(ちなみに私のPCでは7.0です)を指示する必要はないでしょうか。
2.コピペする箇所について、冒頭の符号(「’」)や文字下げ(全体に半角で2字分ほど下がっているようです)もそのままコピペしてよいのでしょうか。
3.コマンドの入力にはMicrosoft Visual Basicの画面が立ち上がります。入力後、保存せずに右上の「閉じるボタン」で終了させてしまっていいのでしょうyか。

特にエラーメッセージなどは表示されません。
何かエクセルの設定などの問題で
うまく動作しない要因が何か考えられますでしょうか。

仕事上、何とかものにしたい機能ですので、
お手数をかけますがご回答下さると助かります。
どうぞよろしくお願いします。

補足日時:2007/05/19 21:03
    • good
    • 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

ここでリンクセルをクリックしてみてください。
    • good
    • 2
この回答へのお礼

misatoanna さん

ありがとうございます。
さっそく試してみましたが、うまくゆきません
(やはり1頁目が開いてしまいます)。

アドバイス中の1.についてですが、
セルにPDFファイルのハイパーリンクを貼り、
その表示内容を「5」に変更する、という意味でしょうか。
あるいはリンク先のアドレスに「5」を追加するという意味でしょうか。

ご教示いただけると幸いです。
よろしくお願いします。

お礼日時:2007/05/18 16:32

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています