Outlook ハイパーリンク 開けない 共有フォルダ 半角

Outlookでメール記載されたパスをハイパーリンク化してクリックできるようにするマクロを作ってみた。


概要

皆さんの会社ではメーラーは何を使っているだろうか?

  • Gmail?
  • Thunderbird?
  • Apple Mail?
  • Yahoo Mail?

まあ読者の皆なら、きっとOutlookを使っていることだろう。

なぜならマクロが使えるからだ! VBA♪ VBA♪

今回はOutlookのメール作成画面で

Z:\share\01ほげほげ部\ぴよぴよ管理.xlsx

みたいなパスへのリンクを

<"file://Z:\share\01ほげほげ部\ぴよぴよ管理.xlsx">

にワンクリックで変換するマクロを開発した。

これにより、メールの受信者は楽にファイルを見ることができるし、送信者は手間を掛けずにクリック可能なパスを記載できるようになる。

お互いにハッピーになれる最高なマクロである。

開発経緯

Outlookメールとネットワークドライブの課題

Outlookには以前から頭の痛い課題があった。

相手から届いたメールのローカルファイルリンクがクリックできないのである。

(社内ではメールフィルタリング等による受信拒否の影響を減らすため、メールの設定は「テキストメール」に統一している)

Outlook ハイパーリンク 開けない 共有フォルダ 半角

テキストメールでは、相手に送られる本文データにはどこからどこまでがリンクかの情報は含まれていない。

従って、ハイパーリンクになるか否かはOutlook次第ということになる。

一応、ハイパーリンクになるかどうかは、パスの文字列が一定の法則で決まるようなので、予めOutlookの認識出来る書式でメールを送ってやる必要がある。

ローカルファイルリンク(正式な名称ではないのに注意)とは、具体的にはこういうパスのことである。

Z:\share\01ほげほげ部\20191010ふがふがプロジェクト\ぴよぴよ管理.xlsx

このようなパスをメール本文に記載した時、ハイパーリンクが自動的に生成されない。(クリックできる状態にならない)

Outlook ハイパーリンク 開けない 共有フォルダ 半角

対して、UNCパスの場合はメールに記載するとハイパーリンク化される。

\\192.168.1.1\share\01ほげほげ部\20191010ふがふがプロジェクト\ぴよぴよ管理.xlsx

Outlook ハイパーリンク 開けない 共有フォルダ 半角

会社によっては、ネットワークコンピューター(サーバー)の共有フォルダへのUNCパスを「ネットワークドライブの割り当て」からZ:とかにマウントして使われている場合もあるようだ。

先頭のZ:の部分の事を「ドライブレター」と呼び、A~Zの好きなアルファベットを使う事ができるので、組織によってS:だったりY:\だったりすると思うが。(内蔵ドライブと競合するので、普通は後半のアルファベットを使用する)

この不便さを回避するために、敢えてネットワークドライブの割り当てをしない運用のほうが便利かもしれない。

が、それは次の方法ですべて解決する。

ローカルファイルリンクをハイパーリンク化する

調査した結果、有効な対処法があることが判明した。

どうやらfile://を先頭につけると良いらしい。

file://Z:\share\01ほげほげ部\20191010ふがふがプロジェクト\ぴよぴよ管理.xlsx

Outlook ハイパーリンク 開けない 共有フォルダ 半角

お見事!!!

同じように先頭に\\を付けることでもハイパーリンク化されるのだが、クリックした時にジャンプされない事を確認した。

Outlook ハイパーリンク 開けない 共有フォルダ 半角

file://\\は少々意味が異なるようだ。(今まで同一の意味があると勘違いしていた)

パスが途中で途切れる場合の対策

実はパスに「半角スペース」や「①」などが含まれている場合、あるいは「半角と全角の境界部」でハイパーリンクが途切れてしまうことがある。

これは送信者の画面で繋がっていようと、受信者のOutlookで再評価されるため、どうなるかは送ってみない限りわからない。

File://Z:\share\01ほげほげ部\20191010ふがふがプロジェクト\①ぴよぴよ管理.xlsx

Outlook ハイパーリンク 開けない 共有フォルダ 半角

Outlook ハイパーリンク 開けない 共有フォルダ 半角

この対策として有効なのが、ダブルクォーテーション(Shift+2)で囲うことである。

Outlook ハイパーリンク 開けない 共有フォルダ 半角

ところが、この方法、送信画面ではハイパーリンク化されるが、それとともに両端のダブルクォーテーションが消失してしまう。 消失するが送信すると相手の画面では復活する。

あとは環境によるらしいが、<>で囲ったほうが良いらしい。

つまり纏めると

<"File://Z:\share\01ほげほげ部\20191010ふがふがプロジェクト\①ぴよぴよ管理.xlsx">

Outlook ハイパーリンク 開けない 共有フォルダ 半角

という書き方が一番間違いないみたい。

パスが改行される場合の対策

しかしまだ足りない。上記のメールを送ると次のようにパスが途切れてしまう。

Outlook ハイパーリンク 開けない 共有フォルダ 半角

これは、送信者のOutlookの設定の「指定の文字数で自動的に折り返す」が原因である。

Outlook ハイパーリンク 開けない 共有フォルダ 半角

今どきのメーラーは自動的に右端で折り返してくれるので、昔ながらのマナーを守る必要は無い(はず)

これが原因で受信エラーになるようなメールサーバーはまず無い(はず)

だからこんな機能はOFFにしたいのだが、Outlookでは132文字までしか増やせない。

上限を超えて増やしたい場合はレジストリを操作することで回避できる。

(Office 2016の場合)
[HKEY_CURRENT_USER\Software\Microsoft\Office\16.0\Outlook\Options\Mail]
"EditorPreference"=dword:00010000

これについては今回のマクロには含まれていない。

完成マクロ

以上のようなパスの変換を、毎回毎回行うのは非常にメンドクサイ。

そこでワンクリックで自動変換するマクロを作ってみた。

仕様

  • 何回実行してもOK
  • どれだけたくさんパスが書いてあってもOK

今回はクイックアクセスツールバーに登録したが、送信イベントなどに仕込んで強制的に実行する仕組みにしても良いかもしれない。

Rem

Rem

Rem

Rem









Rem


Rem




Rem

使用例

Outlook ハイパーリンク 開けない 共有フォルダ 半角

ソースコード

マクロの登録

  • OutlookにてAlt+F11

  • VBEにてProject1を右クリックし、挿入→標準モジュール

Outlook ハイパーリンク 開けない 共有フォルダ 半角

  • 本マクロを貼り付け
  • 新規メール作成画面で「クイックアクセスツールバーのユーザー設定」で「その他のコマンド」

Outlook ハイパーリンク 開けない 共有フォルダ 半角

  • 下図のようにマクロを追加

Outlook ハイパーリンク 開けない 共有フォルダ 半角

  • 今後はこのボタンを押すだけで、マクロが実行される

Outlook ハイパーリンク 開けない 共有フォルダ 半角

参考資料

docs.microsoft.com

— ことりちゅん@えくせるちゅんちゅん (@KotorinChunChun) 2019年10月16日

Outlookではなく、ブラウザで動くようなメーラーの場合はローカルファイルリンク有効化というChrome拡張を使うことで、GmailやSlackでもリンクがクリックできるらしい。

まとめ

メールでは相手に如何に読んでもらえるかが重要である。

ワンクリックで閲覧出来るファイルと、パスをコピーしたりフォルダを追いかけたりしてアクセスするのとでは、閲覧してもらえる可能性に大きな差がある。

このマクロを使えば、ほぼノーコストでハイパーリンクが働くようになる。

是非とも活用して、イケてる社会人になってほしい。

以上

続編

尚、Outlookではドライブが有るか・ファイルが有るかは関係なくハイパーリンク化されるため、相手と自分でドライブレターが違うと、クリックしても開けないという事態になる。

そんな方から別のアイディアを頂いたので、別パターンのマクロを作ってみた。

www.excel-chunchun.com


何か御座いましたらコメント欄、またはTwitterからどうぞ♪

それではまた来週♪ ちゅんちゅん(・8・)

Outlook リンクにアクセスできるかどうか?

Outlookがメッセージ内のリンクにアクセスできるかどうかを確認する前に電子メール メッセージを送信しようとすると、警告メッセージが表示されます。 [送信] または [送信しない] を選択し、Outlookアクセス許可の確認を完了させることができます。

フォルダパスの半角カタカナは?

フォルダー パスにおいては半角カタカナと全角カタカナは区別されるため、全角カタカナに変換されたリンクを使用して開くことはできなくなります。 この現象を回避するには、エンコードとして iso-2022-jp 以外の半角カタカナを使用可能なものを使います。