HOME技術ExcelExcel:ハイパーリンクで別ファイルを開く

Excel:ハイパーリンクで別ファイルを開く

Excelにおいて、別ファイルにハイパーリンクを付けて、リンクをクリックすると指定したファイルが開くようにします。
通常のハイパーリンクの作成の場合だと、セルの上で右クリック→「リンク」をクリックしてファイル名を指定しますが、この方法だと絶対パスが指定されてしまうため、メールでExcelファイルとリンク先として起動させたいファイルを添付して送ると動作しなくなります。
ここでは別のコンピュータでも動作するように、絶対パスをその都度取得します。

VBAを使わずにパスを指定する

今回はVBAを使わずに考えました。

まずセルA1に現在開いているExcelファイルまでの絶対パスを表示します。
A1セルに以下の式を入力します。

=LEFT(CELL(“filename”,A1),FIND(“[“,CELL(“filename”,A1))-1)

次にリンク先のファイル名を指定します。
A2セルに開きたいファイル名を入力します。

test.pdf

A3セルにハイパーリンクをつくります。

=HYPERLINK(TEXT(A1&A2,0),”ここをクリックするとファイルが開きます”)

これでA3セルの「ここをクリックするとファイルが開きます」をクリックすると、test.pdfが起動するようになります。

関連記事

Excel VBAでフィルタの絞り込みを解除する

ExcelVBAを使って、フィルタで絞り込んだ内容を解除する方法です。 VBAコード If Worksheets(“シート名”).FilterMode Then Workshe…続きを読む

Excel VBAで他のプログラムを実行する際にウィンドウを最小化する

Excel VBAで他のプログラムを実行した際に、実行しているプログラムのウィンドウを最小化表示にする方法です。 CreateObject(“WScript.Shell”).R…続きを読む

Excelのフォームのタブオーダーを指定する

Excelでフォームを設定し、部品を複数配置していると、タブキーやEnterキーを押すと次の部品にフォーカスを飛ばすことができます。 この順序が意図したとおりでない場合に、自分で設定する方法を調べまし…続きを読む

Excelで複数部印刷しようとしても指定部数印刷されない

Excelを開いて複数部印刷しようとしても、指定部数が印刷されない不具合への対処法です。 例えば、5部印刷しようとしても、1部ないしは2部しか印刷されません。 そして、エラーメッセージとして「【プリン…続きを読む

Excelでセルに入力できる文字数制限を設定する

Excelで、セルに入力できる字数の制限を設定する方法です。 全角・半角問わず字数制限する メニューから「データ」を選択し「データの入力規則」をクリックします。 データの入力規則設定画面で、「設定」タ…続きを読む

Excel VBAでシートを並び替える

ExcelVBAでシート内のデータを並び替える方法です。 VBAのコード Endrow  = Worksheets(SheetName).Range(“A1”).End(xlD…続きを読む

Excel VBA:フィルタを操作して絞り込む

Excel VBAでフィルタ操作をして、行を絞り込みむ方法です。 コード Sub autoFilter(Retsu, Atai) Worksheets(“シート名”).Rang…続きを読む

Excelで起動時にフォームのみ表示する

Excelで起動時にフォームを表示し、Excelそのものの表画面は非表示にする方法です。 起動時にフォームを表示する 「開発」→「コードの表示」から「Microsoft Visual Basic fo…続きを読む

Excel VBA:メールを送信する

Excel VBAからメールを送信するボタンをつくります。 パスワードロックをかけたブックを利用していて、パスワードがわからなくなったらメールを送信してパスワードを教える機能を付けようと思い、調べまし…続きを読む

Excel VBAで他のプログラムを実行し処理が終わってから次の処理をする

CreateObject(“WScript.Shell”).Runを使って他のプログラムを実行する場合、デフォルトだと起動したプログラムの処理が終わる前に次の処理に移ってしまい…続きを読む