- ベストアンサー
VBAでメール本文へのハイパーリンク挿入
すみませんが質問させて下さい。エクセルVBAにてセルの文章をメール本文へ転記させているのですが、その中の1行がURLとなりハイパーリンクにしたいと思っています。 例えばmailbody = Range("A1")で本文を挿入した場合、A1に”いつもお世話になっています。ファイルはhttp://xxxxxを参考下さい"のhttp://xxxxxの部分だけハイパーリンクにしたいのですがご教授頂けませんでしょうか。宜しくおねがいいたします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
VBAは Outlook.MailItem名.HTMLBody=Range("A1") で A1に いつもお世話になっています。ファイルは <a href=https://okwave.jp/>OKWAVE</a>を参考下さい としてください。とりあえずokwaveとしてます。
その他の回答 (2)
- imogasi
- ベストアンサー率27% (4737/17069)
(1)ExcelVBAの標準」モジュールの下記コードから(に、よって)起動する (2)受信には、Outlookを使う (3)ハイパーリンクに飛ぶのは、そのブルー文字の箇所で、CTR+マウスでクリック という例で(良ければ)、 Excelのブックの標準モジュールに Sub test2() Dim strBody As String Filename = "ハイパーリンクの貼り方???" strBody = "OKWAVE質問" Set myOL = CreateObject("Outlook.Application") Set myMAIL = myOL.CreateItem(0) With myMAIL .to = "XXXX@XXXXXX.ne.jp" <--自分のメイルアドレスを入れてテスト .Subject = Filename .body = strBody & "<A HREF=""https://oshiete.goo.ne.jp/qa/5441173.html""><b>goo検索</b></A>" .display '.send End With Set myMAIL = Nothing Set myOL = Nothing End Sub 実行。 Outlookの受信トレイで確認し、ハイパーリンク文字のところで、 CTR+マウスでクリックしてください。ここまではテスト済み。 私が参考にした記事(Wendyさんの回答)が出てくれば、私の目標は達成です。 「二重ダブルクオートで囲む」がポイント。 == 私もこの点に熟達してないので、さらなる疑問には答えられないかもしれないが、 ・HTMLメールを使う必要がる?<ーー>テキストメール ・本文を書く場所、メッセージ(台紙)がハイパーリンク文を受け付ける仕組みのものでないとダメなようで、テキストメールはダメな(?)ようで、どんなソフトの台紙でも、アドレスを書けばよいという、当たり前ではないようだ。
- kkkkkm
- ベストアンサー率66% (1719/2589)
Outlook.MailItem名.というのは たとえば Dim MI As Outlook.MailItem Set MI = OL.CreateItem(olMailItem) としていた場合 MI.HTMLBody = Range("A1") になりますがその状態にしてもリンクにならないとうことですか? ちなみに、送信する前はCtrl+クリックじゃないとリンク先は開きません。 A1にリンクの部分は <a href=http://xxxxx>こちらをクリック</a> みたいにしてますよね。
補足
いつもありがとうございます。 Outlook.MailItem名.HTMLBody=Range("A1") ですとエラーになります。名を消してもリンクにならず文字がそのまま本文になってしまいます。すみませんが宜しくお願い致します。