• ベストアンサー

EXCELのハイパーリンクの編集を効率よくするには

初心者です。 マクロはわからないので、「CTRL+K」で出した「ハイパーリンクの編集」画面の操作を教えてください。 エクセル表で、大量のセルに別々のハイパーリンクを貼る作業中です。 関連するPDFがあるフォルダにそれぞれ飛ばしています。 その目的フォルダが深い階層にあって、「ハイパーリンクの編集」画面で辿るのが大変です。 なのに、次のセルの「ハイパーリンクの編集」で、また初め(エクセル表がある場所)から辿らないといけません。 「ハイパーリンクの編集」で前回の状態をひきつぐ方法はないでしょうか。 よろしくお願いします。

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

  • ベストアンサー
  • nicotinism
  • ベストアンサー率70% (1019/1452)
回答No.1

前回、回答したものです。 中々レスが付きませんね。余計なお世話ですが、VBA(マクロ)で作ってしまいました。 Excel 2002 以降のバージョンなら機能するはずです。※IMEが起動中も機能しません 手順 安全性を考慮して現在使用中のファイルを別名保存してコピーを作ります オリジナルは閉じてください そのコピーの方で、Alt + F11 を押してVBEの画面を出します。 Alt + I でプルダウンメニューから標準モジュールを選択 新たなウィンドウが開きますので 後述のモジュールを全てコピペします。 Alt + D を押して、VBAProject のコンパイルを選択します。 何もエラーが出なかったら、\(^o^)/ 。(出たらそのメッセージを教えて) Alt + F11 を押してExcelの画面に戻ります。 バージョンがExcel 2002/2003 ならそのまま上書き保存します 2007以降なら、名前を付けて保存からファイルの種類をマクロ有効ブック(xlsm)にて保存 ファイルを閉じます ファイルを開く時にマクロを有効にしますか?確認がありますので有効にしてください 適当なセルを選んで、Alt + k を押せばファイル選択画面が出ますので PDFファイルを選択してください ハイパーリンクがセルに設定されます 次回の Alt + k からは直前のフォルダが初期フォルダになります ↓この下からコピペ Private strPrevious As String 'フォルダパスを記憶 Sub auto_open() 'Alt + k (K) を有効にします ファイルを開いたときに自動的に働きます   Application.OnKey "%K", "setHyperLink" '大文字小文字区別   Application.OnKey "%k", "setHyperLink" '大文字小文字区別 End Sub 'Sub altKset() '  Application.OnKey "%K", "setHyperLink" '  Application.OnKey "%k", "setHyperLink" 'End Sub Sub altKdel() 'Alt + k (K) を無効にします   Application.OnKey "%K", ""   Application.OnKey "%k", "" End Sub Private Sub setHyperLink() 'Alt + k(K)を押した時に呼び出されるように、auto_open で設定してます   Dim Dlg As Object   Const msoFileDialogFilePicker As Integer = 3 '4   Dim sTmp As String   Set Dlg = Application.FileDialog(msoFileDialogFilePicker)     With Dlg       .InitialFileName = strPrevious     '初期検索先指定       .Title = "ファイル選択 (複数選択不可)"       .AllowMultiSelect = False       '複数ファイル選択の可否       .Filters.Clear             'フィルタの初期化       .Filters.Add "すべてのファイル", "*.*"       .Filters.Add "Acrovat PDF", "*.pdf"       .FilterIndex = 2            '初期選択フィルタの設定       .ButtonName = "選択"          'ボタンの表示文字列の設定       'キャンセル時にはShowメソッドは0(Long型)を返す        If CBool(.Show) Then         '選択ファイルのパスの取得         sTmp = .SelectedItems(1)        Else          sTmp = ""          Exit Sub        End If      End With        ActiveCell.Value = sTmp   ActiveCell.Hyperlinks.Add ActiveCell, sTmp   strPrevious = CreateObject("Scripting.FileSystemObject").getParentFolderName(sTmp)      If strPrevious <> "" And Right(strPrevious, 1) <> "\" Then     strPrevious = strPrevious & "\"   End If End Sub

wanwan3273
質問者

お礼

マクロを考えてくださってありがとうございます。 エラーはでなかったのですが、変化はありませんでした。 (いちから辿る画面になってしまいました) セキュリティを高→中に下げてみたのですが。 これは私(派遣社員)に権限がないからかもしれません。 親切に作成くださったことに大変感謝しています。 ありがとうございます。

その他の回答 (1)

  • nicotinism
  • ベストアンサー率70% (1019/1452)
回答No.2

一応、念のためにWindowsXP + Excel2002 + 制限付きアカウント で試しましたが、問題なく機能しました。 作成自体はWindows7 + Excel2010ですけどね。 もしかして、Ctrl + k で行ってません? Alt + k ですよ。 これで機能しないのなら降参です。

wanwan3273
質問者

お礼

おっしゃるとおり、ctrl+Kを押していました。 Alt+Kでできました。 自動的にPDFが開いてびっくりしました。 とても便利です。 ありがとうございました!

関連するQ&A