PowerPointに設定した共有フォルダのリンクをクリックしても、目的のフォルダが開かない…
なぜか一つ上のフォルダで止まってしまう!
フォルダーのリンクを張ったのに、手前の別のフォルダーにしか飛ばなくて困った経験はありませんか?私も先日これに悩まされまして、原因はフォルダ名に含まれる半角の「#」でした。
しかもネットで出てくる「%23」に置き換える方法や、全角の「#」に変える方法も試しましたが、どれも解決しませんでした。
今回はその対処法を実際の画面と一緒に紹介します。最終的にショートカットファイルを経由する形で開けるようになりましたので、その手順をスクリーンショット付きで紹介します。
この内容を参考にして、ぜひリンク問題を解決してみてください!
【結論】ショートカットファイルを経由してリンクする
このような問題が発生したときは、目的のフォルダへのショートカット(.lnk)を作り、PowerPointにはそのショートカットをリンクするのが結局一番早いです。
PowerPoint
↓
01_資料フォルダ.lnk ←「#」を含まないのでリンクが切れない
↓
#01_資料フォルダ ←Windowsが開いてくれる
やることは2つだけです
- 目的のフォルダへのショートカットを、共有フォルダ内に作る
- PowerPointのリンク先を、そのショートカットファイルに変える
「#」を避ける書き方を探すより、「#」を使わないほうが早いです。理由は、Office製品のハイパーリンクがそもそも「#」を受け付けない仕様だからです。
詳しい手順は後半に画像付きで書いていますので、急いでいる方はそこまで飛ばしてください。
フォルダ名に「#」があるとリンクが手前で切れる
まず、どういう症状だったのかを説明します。
リンクを設定したかったのは、社内サーバー上の次のフォルダです。この記事ではサンプルとして架空の名前に置き換えています。
\\server01\共有\#01_資料\

リンクをクリックすると親フォルダで止まります
PowerPointで図形を選び、挿入タブからリンクを開いて、アドレス欄にこのパスをそのまま貼り付けました。

ところが、クリックすると次の親フォルダまでしか開きません。
\\server01

エクスプローラーからは開けるので権限の問題ではありません
ここで一度、エクスプローラーのアドレス欄に同じパスを貼り付けてみました。
すると目的のフォルダは問題なく開きます。フォルダが存在しないわけでも、アクセス権が足りないわけでもありませんでした。
PowerPointのハイパーリンクとして設定したときだけ、「#」より後ろが無視されていたわけです。
原因は「#」がハイパーリンクでは別の意味を持つことです
Office製品のハイパーリンクでは、「#」がただの文字ではなく、ファイル内の特定位置やブックマークを指定する記号として扱われます。
そのため「#」より前をリンク先、後ろをブックマーク名として解釈してしまい、目的のフォルダにたどり着けなくなります。
Microsoftも仕様として案内しています
これは不具合ではないようです。Microsoftのサポート記事でも、「#」はファイル名としては有効だがOffice文書のハイパーリンクでは受け付けられない、と説明されています。
ただ、そこで案内されている対処法は「名前から#を外して付け直す」という内容だけでした。
部署で共有しているフォルダの名前は、そう簡単には変えられませんよね。他の資料からのリンクや、各自が作ったショートカットが一斉に切れてしまうからです。
実践したうまくいかなかった方法
私の環境で解決しなかった方法を先にまとめます。
「#」を「%23」に置き換える
WebサイトのURLでは、「#」を「%23」と書いて渡す方法があります。同じ要領で試したのが次の書き方です。
file://server01/共有/%2301_資料/

結果は、そもそも開けませんでした。共有フォルダで使うUNCパスと、WebサイトのURLでは文字列の扱われ方が違います。
そのため、URLで通用する書き方をそのまま持ち込んでも、「#」として解釈されないことがあるようです。
全角の「#」や「♯」に変える
見た目が似ている記号として、次の3種類があります。
# 半角の番号記号
# 全角の番号記号
♯ 音楽記号のシャープ
これは私も一瞬期待したのですが、パソコン上ではすべて別の文字として扱われます。
実際のフォルダ名が「#01_資料」であるとき、リンク側だけを「#01_資料」に書き換えても、存在しない別のフォルダを指すことになるだけです。
「#」や「♯」は、半角の「#」をエスケープするための文字ではありません。ここは私も最初に勘違いしていた部分です。
パス全体を「< >」で囲む
パスにスペースが入ってリンクが切れる場合は、パス全体を半角の不等号で囲むと直ることがあります。
ただ、これはスペース対策なので、「#」が原因のときには効きませんでした。
フォルダ名を変える(変えられるなら一番早いです)
Microsoftが案内している方法なので、これが本来の正攻法です。自分だけが使うフォルダや、作ったばかりで参照元が少ないフォルダなら、名前から「#」を外してしまうのが一番手間がかかりません。
逆に、並び順の都合で先頭に「#」を付けているフォルダや、すでに多くの資料からリンクされているフォルダでは現実的ではありません。私の場合も後者でした。
ショートカットファイルを作ってリンクする手順
ここからが実際に解決した手順です。
考え方は単純で、PowerPointには「#」を含むパスを一切読ませず、「#」を含まないショートカットへのリンクだけを設定します。
手順1 目的のフォルダへのショートカットを作る
エクスプローラーで、目的のフォルダを右クリックし、ショートカットを作成します。

手順2 ショートカットの名前を「#」を使わない名前に変更
作成されたショートカットに「#」が入っているので、「#」を含まない名前を付けます。

⚠️ショートカットの置き場所に注意!
ショートカットは、自分のデスクトップではなく、資料を使う全員がアクセスできる共有フォルダに置いてください。
手元にしか無い場所に置くと、他の人がPowerPointを開いたときにリンクが機能しません。
手順3 PowerPointのリンク先をショートカットに変える
ハイパーリンクの設定先を、目的のフォルダではなく、作成したショートカットファイルに変更します。
まず先ほど作ったショートカットのパスを、右クリックで取得します。

そしてリンクをアドレスに張り付ければ、リンクが張れるようになります。なお、この時に前後についている「”」は外しておいたほうが安全です

これで、PowerPointから目的の共有フォルダを開けるようになります。
運用するときに気をつけたいこと
この方法は、ショートカットファイルが同じ場所に有り続けることが前提です。
- ショートカットを移動したり削除したりすると、リンクが切れます
- ショートカットの名前を変えたら、PowerPoint側のリンクも直します
- リンク専用のフォルダにまとめておくと管理しやすくなります
私は次のような構成にしました。専用フォルダに入れておけば、「これは何のファイルだろう」と誰かに消されるリスクが下がるからです。
共有
├ #01_資料
└ リンク用
└ 01_資料フォルダ.lnk
この場合、PowerPointに設定するリンクは次のようになります。
\\server01\共有\リンク用\01_資料フォルダ.lnk
Excel、Word、Outlookでも同じ方法が使えます
この症状はPowerPointに限った話ではありません。Excel、Word、Outlook、Accessでも、リンク先に「#」が含まれると同じように切れることがあります。
Outlookの場合は、リンクの一部だけが認識されて「ファイルが見つかりません」と表示される形で現れることが多いようです。
対処の考え方は共通で、リンク先を「#」を含まないショートカットファイルにします。Excelのセルのハイパーリンクでも、Outlookのメール本文でも、同じように使えます。
【おまけ】ショートカット経由なら開ける理由
なぜこれで開けるようになるのかを、少しだけ補足しておきます。
直接リンクした場合、PowerPointが処理する文字列の中に「#」が入っています。
\\server01\共有\#01_資料\
↑ここでPowerPointが区切ってしまう
一方、ショートカットへのリンクには「#」が含まれていません。
\\server01\共有\01_資料フォルダ.lnk
PowerPointが解釈するのは、この行までです。ショートカットの内部に保存されている本来のパスを処理するのはWindowsなので、「#」が含まれていても問題なく開けます。
OfficeとWindowsで役割を分けてしまうところが、この方法のポイントだと思っています。
元に戻したいときは
元に戻す場合は、PowerPointのリンク先を元のフォルダパスに書き換えて、作成したショートカットファイルを削除するだけです。設定を変更しているわけではないので、パソコン側に何も残りません。
まとめ|Officeに「#」を渡さない構成にする
共有フォルダのパスに半角の「#」が含まれていると、Officeのハイパーリンクは「#」より前までしか開けないことがあります。
今回試した内容は次のとおりです。
- パスをそのまま設定する(親フォルダで止まりました)
- 「#」を「%23」に置き換える(開けませんでした)
- 全角の「#」や「♯」に変える(別のフォルダ扱いになります)
- パス全体を「< >」で囲む(スペース対策なので効きませんでした)
- ショートカットファイルを経由する(開けました)
「#」をエスケープする方法を探すよりも、Officeに「#」を直接処理させない構成にするほうが、私の環境では確実でした。
この記事の画面はすべて実際に操作したものです。同じ場所で止まっている方は、画像と見比べながら進めてみてください!


コメント