Outlookでメール記載されたパスをハイパーリンク化してクリックできるようにするマクロを作ってみた。 皆さんの会社ではメーラーは何を使っているだろうか? まあ読者の皆なら、きっとOutlookを使っていることだろう。 なぜならマクロが使えるからだ! VBA♪ VBA♪ 今回はOutlookのメール作成画面で みたいなパスへのリンクを にワンクリックで変換するマクロを開発した。 これにより、メールの受信者は楽にファイルを見ることができるし、送信者は手間を掛けずにクリック可能なパスを記載できるようになる。 お互いにハッピーになれる最高なマクロである。 Outlookには以前から頭の痛い課題があった。 相手から届いたメールのローカルファイルリンクがクリックできないのである。 (社内ではメールフィルタリング等による受信拒否の影響を減らすため、メールの設定は「テキストメール」に統一している) テキストメールでは、相手に送られる本文データにはどこからどこまでがリンクかの情報は含まれていない。 従って、ハイパーリンクになるか否かはOutlook次第ということになる。 一応、ハイパーリンクになるかどうかは、パスの文字列が一定の法則で決まるようなので、予めOutlookの認識出来る書式でメールを送ってやる必要がある。 ローカルファイルリンク(正式な名称ではないのに注意)とは、具体的にはこういうパスのことである。 Z:\share\01ほげほげ部\20191010ふがふがプロジェクト\ぴよぴよ管理.xlsx このようなパスをメール本文に記載した時、ハイパーリンクが自動的に生成されない。(クリックできる状態にならない) 対して、UNCパスの場合はメールに記載するとハイパーリンク化される。 \\192.168.1.1\share\01ほげほげ部\20191010ふがふがプロジェクト\ぴよぴよ管理.xlsx 会社によっては、ネットワークコンピューター(サーバー)の共有フォルダへのUNCパスを「ネットワークドライブの割り当て」から 先頭の この不便さを回避するために、敢えてネットワークドライブの割り当てをしない運用のほうが便利かもしれない。 が、それは次の方法ですべて解決する。 ローカルファイルリンクをハイパーリンク化する調査した結果、有効な対処法があることが判明した。 どうやら file://Z:\share\01ほげほげ部\20191010ふがふがプロジェクト\ぴよぴよ管理.xlsx お見事!!! 同じように先頭に
パスが途中で途切れる場合の対策実はパスに「半角スペース」や「①」などが含まれている場合、あるいは「半角と全角の境界部」でハイパーリンクが途切れてしまうことがある。 これは送信者の画面で繋がっていようと、受信者のOutlookで再評価されるため、どうなるかは送ってみない限りわからない。 File://Z:\share\01ほげほげ部\20191010ふがふがプロジェクト\①ぴよぴよ管理.xlsx この対策として有効なのが、ダブルクォーテーション( ところが、この方法、送信画面ではハイパーリンク化されるが、それとともに両端のダブルクォーテーションが消失してしまう。 消失するが送信すると相手の画面では復活する。 あとは環境によるらしいが、 つまり纏めると <"File://Z:\share\01ほげほげ部\20191010ふがふがプロジェクト\①ぴよぴよ管理.xlsx"> という書き方が一番間違いないみたい。 パスが改行される場合の対策しかしまだ足りない。上記のメールを送ると次のようにパスが途切れてしまう。 これは、送信者のOutlookの設定の「指定の文字数で自動的に折り返す」が原因である。 今どきのメーラーは自動的に右端で折り返してくれるので、昔ながらのマナーを守る必要は無い(はず) これが原因で受信エラーになるようなメールサーバーはまず無い(はず) だからこんな機能はOFFにしたいのだが、Outlookでは 上限を超えて増やしたい場合はレジストリを操作することで回避できる。 (Office 2016の場合) [HKEY_CURRENT_USER\Software\Microsoft\Office\16.0\Outlook\Options\Mail] "EditorPreference"=dword:00010000 これについては今回のマクロには含まれていない。 完成マクロ以上のようなパスの変換を、毎回毎回行うのは非常にメンドクサイ。 そこでワンクリックで自動変換するマクロを作ってみた。 仕様
今回はクイックアクセスツールバーに登録したが、送信イベントなどに仕込んで強制的に実行する仕組みにしても良いかもしれない。 Rem Rem Rem Rem Rem Rem Rem 使用例ソースコードマクロの登録
参考資料docs.microsoft.com — ことりちゅん@えくせるちゅんちゅん (@KotorinChunChun) 2019年10月16日 Outlookではなく、ブラウザで動くようなメーラーの場合はローカルファイルリンク有効化というChrome拡張を使うことで、GmailやSlackでもリンクがクリックできるらしい。 まとめメールでは相手に如何に読んでもらえるかが重要である。 ワンクリックで閲覧出来るファイルと、パスをコピーしたりフォルダを追いかけたりしてアクセスするのとでは、閲覧してもらえる可能性に大きな差がある。 このマクロを使えば、ほぼノーコストでハイパーリンクが働くようになる。 是非とも活用して、イケてる社会人になってほしい。 以上 続編尚、Outlookではドライブが有るか・ファイルが有るかは関係なくハイパーリンク化されるため、相手と自分でドライブレターが違うと、クリックしても開けないという事態になる。 そんな方から別のアイディアを頂いたので、別パターンのマクロを作ってみた。 www.excel-chunchun.com 何か御座いましたらコメント欄、またはTwitterからどうぞ♪ それではまた来週♪ ちゅんちゅん(・8・) Outlook リンクにアクセスできるかどうか?Outlookがメッセージ内のリンクにアクセスできるかどうかを確認する前に電子メール メッセージを送信しようとすると、警告メッセージが表示されます。 [送信] または [送信しない] を選択し、Outlookにアクセス許可の確認を完了させることができます。
フォルダパスの半角カタカナは?フォルダー パスにおいては半角カタカナと全角カタカナは区別されるため、全角カタカナに変換されたリンクを使用して開くことはできなくなります。 この現象を回避するには、エンコードとして iso-2022-jp 以外の半角カタカナを使用可能なものを使います。
|