初心者です。
マクロはわからないので、「CTRL+K」で出した「ハイパーリンクの編集」画面の操作を教えてください。
エクセル表で、大量のセルに別々のハイパーリンクを貼る作業中です。
関連するPDFがあるフォルダにそれぞれ飛ばしています。
その目的フォルダが深い階層にあって、「ハイパーリンクの編集」画面で辿るのが大変です。
なのに、次のセルの「ハイパーリンクの編集」で、また初め(エクセル表がある場所)から辿らないといけません。
「ハイパーリンクの編集」で前回の状態をひきつぐ方法はないでしょうか。
よろしくお願いします。
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
マクロを考えてくださってありがとうございます。
エラーはでなかったのですが、変化はありませんでした。
(いちから辿る画面になってしまいました)
セキュリティを高→中に下げてみたのですが。
これは私(派遣社員)に権限がないからかもしれません。
親切に作成くださったことに大変感謝しています。
ありがとうございます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/07/21 09:42
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2022/10/11 12:55
- Excel(エクセル) ハイパーリンク先のフォルダの中のファイルが多すぎで見つけれません。ハイパーリンクの挿入の画面が小さく 1 2023/02/12 19:55
- Excel(エクセル) エクセルの編集オプション セル移動 2 2022/04/02 09:19
- Excel(エクセル) エクセルのハイパーリンクで別BOOKを開く 3 2022/10/26 18:48
- タブレット クリエイター?向けタブレットを教えてください 3 2023/06/06 09:03
- ノートパソコン 初心者です。ノートパソコンMacBookに関して動画編集をメインに使いたいのですが、プロ並みの大きな 2 2023/06/04 02:39
- Excel(エクセル) 2つのVBAを一緒にしたら機能しなくなりました(エクセル) 7 2022/06/02 12:41
- Excel(エクセル) excelで検索した商品の画像(ネットワーク上の)を表示させたい。 3 2023/06/28 00:32
- Visual Basic(VBA) エクセルVBA エクセルを開いた後に編集可能な状態にするには? 2 2023/06/14 11:58
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルVBAでセルに入力したパ...
-
excelに貼り付けた数値が勝手に...
-
Teraマクロで日付ディレクトリ...
-
PDF ファイルが開けません。
-
ミュージックファイルのファイ...
-
ファイルを並び替えるときの「...
-
VLOOKUP関数とネットワークに置...
-
複数のExcelブックから一覧表を...
-
エディタで効率的な切り出し方法
-
Notes 開発で、 excelファイル...
-
エクセル起動時にエラー
-
エクセルVBAでファイルを連...
-
エクセルファイルから指定した...
-
エクセルVBA+ADOで特定のCSVフ...
-
excel INDIRECT 他ファイル参照
-
VB6.0で、APIのファイルを開く...
-
CSVで文字化けしてしまうのを直...
-
エクセルからスキャナVBAで連動...
-
EXCELのVBAで画像を選んだ順に...
-
Excelでリンクを使用すると#N/A...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルVBAでセルに入力したパ...
-
excelに貼り付けた数値が勝手に...
-
ファイルを並び替えるときの「...
-
EXCELのVBAで画像を選んだ順に...
-
Teraマクロで日付ディレクトリ...
-
エクセルファイルから指定した...
-
PDF ファイルが開けません。
-
エディタで効率的な切り出し方法
-
エクセルからスキャナVBAで連動...
-
=CELL("filename")で取得したフ...
-
CSVで文字化けしてしまうのを直...
-
VLOOKUP関数とネットワークに置...
-
Excel VBAで自動的にハイパーリ...
-
エクセル 一括リンクの解除
-
ハイパーリンクで前回値をひき...
-
EXCELのマクロを使って、テキス...
-
EXCELで複数のファイルから抽出
-
ミュージックファイルのファイ...
-
Notes 開発で、 excelファイル...
-
Excelでリンクを使用すると#N/A...
おすすめ情報