上図のように、UserForm 上にハイパーリンクを作るには次のようにします。ここでは便宜上、メールアドレスのハイパーリンクを設定したラベルを「Label1」とします。
(1) VBE の [プロパティ ウィンドウ] で Label1 のフォントを設定します。
ForeColor = 青色
Font = 下線あり
(2) 同じく Label1 の MouseIcon プロパティに のようなマウス ポインタの画像を設定します。
絵心に自信がある方は自作してもいいですし、そうでない方は Windows フォルダの Cursors フォルダから選択すると簡単です。Cursors フォルダが見つからない方は……どなたか詳しい方に聞いてください。
(3) 最後に、Label1 の MousePointer プロパティを「99-fmMousePointerCustom」にします。ここまでの設定で上図のように表示されます。次はハイパーリンクがクリックされたときの動作を記述します。Label1 をダブルクリックして次のプロシージャを書きます。
Private Sub Label1_Click() Range("A1").Select With ActiveSheet .Hyperlinks.Add Anchor:=Selection, Address:="mailto:toru.tanaka@nifty.com" .Hyperlinks(1).Follow NewWindow:=True End With Range("A1").ClearContents End Sub
見てわかるように、Lable1 がクリックされたらセル A1 にハイパーリンクを挿入して、ただちにそのハイパーリンクを実行します。そして、最後にセル A1 を削除します。
Address:="mailto:toru.tanaka@nifty.com"
のメール アドレスは、Label1 の Caption から取ってもいいですね。
セル A1 に重要なデータが入力されていてハイパーリンクを挿入できないのでしたら、いっそのこと新しいワークシートを挿入する手もあります。ちょっと長くなりますが、こんな感じです。
Private Sub Label1_Click() With Worksheets.Add .Range("A1").Select .Hyperlinks.Add Anchor:=Selection, Address:="mailto:toru.tanaka@nifty.com" .Hyperlinks(1).Follow NewWindow:=True .Range("A1").ClearContents Application.DisplayAlerts = False .Delete Application.DisplayAlerts = True End With End Sub
あるいは、どうしてもセルを使いたくないときは、ハイパーリンクを直接開いてしまいましょう。てゆーか、これが一番簡単ですね(^^;
Private Sub Label1_Click() ThisWorkbook.FollowHyperlink Address:="mailto:toru.tanaka@nifty.com" End Sub