エクセルシート内で、ハイパーリンクを一瞬で貼り付けるVBAを紹介します。
エクセルシートから参照元のpdfなどを開くことができるようになるので、業務効率化に即効性がありとても便利です。
ハイパーリンクを付加するVBA
pdfにリンクをつなぐVBAコード
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | Sub Link() Dim fn As String fn = ActiveCell.Value linked_pass1 = "D:\test\" & fn & ".pdf" If Dir(linked_pass1) <> "" Then ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:="D:\test\" & fn & ".pdf" Else MsgBox ("ファイルを検出できません") End If End Sub |
このマクロでは、アクティブなセル(選択しているセル)の文字と同じファイル名のpdfにリンクを貼り付ける仕様としています。
例えば、下のセルでは「aaa」という文字列のセルを選択しておいてマクロを実行すると、選択したセルのみにハイパーリンクを付加することができます。
このコードでは、「アクティブセルの文字列」+「.pdf」という名称のファイルを開くように以下のコードで設定しています。
また、リンクのパスは以下の黄色マーカー部分で編集してください。
本コードではDドライブのtestというフォルダを読みにいくようになっています。
準備しておくpdfデータのイメージ
準備しておくpdfデータの保存イメージは下図のようになります。
コード内の”.pdf”の部分の拡張子を変更することで他の拡張子でもリンクを貼り付けて開くことが可能です。
尚、予めフォルダにリンクデータが存在しない場合は、エラーメッセージを表示させるようにしているので、先にフォルダ内に参照データを作成してからVBAを実行する仕様としています。
例えば、下図のように「ccc.pdf」というデータが存在しないのにリンクを貼り付けようとしてもメッセージボックスが表示されます。
リンクの貼付けマクロは簡単で便利なのでぜひ活用してみてください。
コメント