エクセルVBAでOutlookにリンク設定

このQ&Aのポイント
  • エクセルVBAを使用してOutlookにリンクを設定する方法について教えてください。
  • メール本文に保存場所を記載し、リンクをクリックするとファイルが開くようにしたいです。
  • 試した方法ではうまくいきませんでした。正しい書き方を教えてください。
回答を見る
  • ベストアンサー

エクセルVBAでOutlookにリンク設定

メール本文にファイルの保存場所を記載し、クリックでファイルが開くようにしたいのですが、どうすればいいでしょうか。 幾つか試しましたがうまくいきませんでした。 Cells(5, "AK")=C:\Users\taro\Documents\エクセル.xlsxとした時 Sub メール() 'Outlookの定義 Set myOutLook = CreateObject("outlook.application") Set Omail = myOutLook.CreateItem(olMailItem) 'メール作成 With myitem Omail.BodyFormat = 2 ①.HTMLBody = .HTMLBody & "<a href=file:\\\""" & Cells(5, "AK") & """>意見書1</a>" & "<br>" →\\\以降の番地が表示されない ② .HTMLBody = .HTMLBody & "<a href=""" & Cells(5, "AK") & """>意見書2</a>" & "<br>" →<C:\Users\taro\Documents\エクセル.xlsx>と表示されるがリンクされない。 ローカルドライブとサーバーでは書き方が違うようです。 自分が最終的にしたいのはサーバーに保存しているファイルをクリックで開くことです。 正しい書き方をご教示ください。よろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • kkkkkm
  • ベストアンサー率65% (1618/2457)
回答No.2

No.1の追加です。 .HTMLBody = .HTMLBody & "<a href=file://" & Cells(5, "AK") & ">意見書1</a>" & "<br>" でもいけたのですが <a href="file://ファイルの場所">意見書1</a> になる方が安心かもしれません。 .HTMLBody = .HTMLBody & "<a href=""file://" & Cells(5, "A") & """>意見書1</a>" & "<br>"

ticktak
質問者

お礼

ばっちりいけました。本当にありがとうございます。今後ともよろしくお願いいたします。

その他の回答 (1)

  • kkkkkm
  • ベストアンサー率65% (1618/2457)
回答No.1

.HTMLBody = .HTMLBody & "<a href=file://" & Cells(5, "AK") & ">意見書1</a>" & "<br>" でいいのではないでしょうか Cells(5, "AK")の内容は以下のサイトを参考にしてください。 IPアドレスで設定してますがサーバー名にしたらいいのではないかと思います。 [HTML]:サーバ内のフォルダ/ファイルへリンクする https://agrius-akita.hatenablog.com/entry/20090703/1246630499

関連するQ&A

  • Outlookの文面を赤にする方法-エクセルVBA

    下記のようなコードでエクセルVBAでOutlookメールを作成する際、「期限:10月30日」の部分だけを赤にする方法を教えてください。 HTMLBodyというのを使うようなのですが、下記のコードの基本を変えず、対応する方法を教えてください。 Sub メール() 'Outlookの定義 Set myOutLook = CreateObject("outlook.application") Set Omail = myOutLook.CreateItem(olMailItem) 'メール作成 Omail.BodyFormat = 2 'メール形式 1=テキスト 2=HTML 3=リッチテキスト Omail.Subject = "意見記入のお願い" 'subject Omail.Body = Omail.Body & "いつもお世話になっております。" & vbCrLf Omail.Body = Omail.Body & "下記の申請が提出されました。" & vbCrLf Omail.Body = Omail.Body & "期限:10月30日" Omail.Display End Sub

  • Outlookで選択したメールのみ書き出すVBA

    こんにちは。 Outlookで選択したメールのみ書き出すVBAを教えてください。 下記のコードまでは作成ができ、書き出すことには成功しました。 ですが、下記コードだとフォルダ内すべてのメールが書き出しされてしまいます。 選択しているメールのみ書き出すコードに書き換えたいのですが、 どこを変えたらよいかわかりません。 どなたかご教示いただけると幸いです。 ------------------------------------------- Sub メール書き出し() On Error Resume Next Set myMFolder = Application.ActiveExplorer.CurrentFolder Set xlApp = CreateObject("Excel.Application") Set myBook = xlApp.Workbooks.Add xlApp.Visible = True With myBook.Worksheets(1) i = 1 For Each myItem In myMFolder.Items '受信日時 .Cells(i, 1) = myItem.ReceivedTime '受信者名 .Cells(i, 2) = myItem.Recipients(1).Name '件名 .Cells(i, 3) = myItem.Subject '送信者名 .Cells(i, 4) = myItem.SenderName '受信者名 .Cells(i, 5) = myItem.Recipients(1).Addresss i = i + 1 Next myItem End With Set xlApp = Nothing End Sub

  • Excelマクロでメール作成

    Excelマクロでメール作成 Sub aaa() Dim myOutLook Dim olmailItem Dim myitem Dim MyAttachments Set myOutLook = CreateObject("outlook.application") Set myitem = myOutLook.CreateItem(olmailItem) myitem.To = "メールアドレス" myitem.CC = "CCアドレス" myitem.Subject = "件名" myitem.Body = Sheets("シート1").Range("A1") '(1)(本文入力) というところまで出来ていて、'(1)(本文入力)の部分で悩んでいます。 本文をエクセルシート1のA1からC100の範囲でmyitem.Bodyに代入することは出来るでしょうか? (1)の記述だとA1セルを代入することは出来るのですが、Range("A1")をRange("A1:C3")とするとエラーが出てしまいます。 A1からC100の範囲は、空白ありセルデータとなっています。 基本的なことが解っていないための質問になってしまっているかも知れず、申し訳ないのですが、よろしくおねがいします。 OSはxp、Excelは2003、メーラーはOutlookです。

  • Outlook2010のメール書き出しVBAについ

    Outlook2010のメール書き出しVBAを作成しました。 1行目に見出しをいれたいのですがうまく入れられません。 また、800件程度のメールを書きだそうとすると、書き出したエクセルの途中の行に7行くらい空の行が入ってしまいます。 どこをどう直せばよいかよくわからず、 どなたか修正いただけると幸いです。 ---------------------------- Sub メール書き出し日にちのみ() On Error Resume Next Set mySelection = Application.ActiveExplorer.Selection '変更 Set xlApp = CreateObject("Excel.Application") Set myBook = xlApp.Workbooks.Add xlApp.Visible = True With myBook.Worksheets(1) i = 1 For Each MyItem In mySelection '変更 '受信日時 .Cells(i, 1) = MyItem.ReceivedTime '送信者名 .Cells(i, 2) = MyItem.SenderName i = i + 1 Next MyItem End With Set xlApp = Nothing End Sub

  • エクセルVBAでのメール作成について

    お世話になります。エクセルVBAでのメール作成で、メール本文のファイルサーバのリンク貼り付けがうまくいきません。本文のフォント色を変更し、かつリンク貼り付けを行うためhtml形式に本文を変換すると、うまくいかなくなります。 対処方法をご教示頂きたく、どうぞ宜しくお願い致します。 Sub mail_try() 'Outlookオブジェクト生成 Dim OL As Outlook.Application Dim MI As Outlook.MailItem Set OL = CreateObject("Outlook.Application") Set MI = OL.CreateItem(olMailItem) 'メール各設定 MI.SentOnBehalfOfName = "" '差出人 MI.To = "" 'TO MI.Cc = "" 'CC MI.Bcc = "" MI.Subject = "【リンク先送信】" '件名 Dim buf As String buf = ThisWorkbook.Path '本文 MI.Body = "<font color = ""#ff0000"">" & "リンク先を送信致します。" & "</font>" _ & "<br>" & "<br>" & _ "<br>" & buf & "\" & "<br>" _ & "<br>" & "<br>" & "以上、宜しくお願い致します。" 'メール表示 MI.display MI.HTMLBody = MI.Body 'オブジェクト解放 Set OL = Nothing Set MI = Nothing End Sub

  • Excel VBAを使ってHTML生成をしたい

    エクセルにデータを入力し、下記のようなhtmlファイルに各々のセルに対応した数値が代入されたものを生成したいと考えています。 <a href="【A1】.html">【A2】</a><br/> <a href="【B1】.html">【B2】</a><br/> <a href="【C1】.html">【C2】</a><br/> <a href="【D1】.html">【D2】</a><br/> <a href="【E1】.html">【E2】</a><br/> VBAを使ってこのようなことは可能でしょうか? また、そのほかどのような方法が考えられますでしょうか? なにとぞよろしくお願いいたします。

    • ベストアンサー
    • HTML
  • HTML 超初心者  リンクの載せ方

    HTMLの勉強を昨日始めたばかりの超初心者です。初心者用のカテゴリが無いので、技術者向けなんてカテゴリからの質問で気が引けますが、回答お願い致しますm(__)m 今Udemyというアメリカ人が作った講義動画のサイトで勉強してるんですが、そちらではnotepadを使ってクロームに表示しているんですが、僕がやると文字化けしてしまうので、terapadを使ってエクスプローラーに表示しています。 つまずいた個所はリンクの載せ方の所です。細かく書きます。 index.html contact.html about.htmlというドキュメント?を作ってそれをひとまとめにwebsiteというファイルに収めてそのファイルの中にadminというファイルを作ってそのファイルの中にadmin.htmlというドキュメントを収めています。 index.html contact.html about.htmlそれぞれに <a href="index.html">Homepage</a><br /> <a href="About.html">About</a><br /> <a href="Contact.html">Contact</a><br /> リンクを作る文字列を打ってブラウザで実際にクリックしてリンクを表示させることはできました。 しかし、adminのほうがリンクの文字自体はされるのですが、それをクリックしてもエラーになってしまいます。<a href="Admin files/Admin1.html">Admin1</a>←のように動画にあるままにファイルも指定して文字を打ったんですがダメです。大文字などの打ち間違いも確認しましたが問題ありませんでした。 回答お願いします。

    • ベストアンサー
    • HTML
  • 日本語アドレスへのリンク

    [windows200 IIS5] で テキストファイル等へリンクするするとき (1)<A HREF="/document/temp/test.txt">test.txt</A><br> (2)<A HREF="/document/temp/しけんふぁいる.txt">しけんふぁいる.txt</A><br> と書いた html にアクセスすると (1)は、ちゃんとリンクできて内容を表示できますが、 (2)は、ページが見つかりません!という表示が出てうまくいきません。 [windows200 IIS5] の同一の環境のマシーンが2台ありますが、 1台(1年程前から運用のマシーン)は、(2)でも、ちゃんとリンクできて内容を表示できます。 インストールしてあるAPは多少異なりますが、設定等は同一だと思っています。 日本語等の2バイト文字ファイル名には、本来リンクできないのでしょうか。 どなたか、ご存知の方、教えてください。 なお、URLScan等はインストールしておりません。

  • VBAでOutlookの文面の一部を赤にする方法

    記のようなコードでエクセルVBAでOutlookメールを作成する際、「期限:10月30日」の部分だけを赤にする方法を教えてください。 <font color = ""#ff0000"">" & "期限:10月30日" & "</font>" このようなコードを使うようなのですが、下記にどのように変更すれば動くのか教えてください。 Sub メール() 'Outlookの定義 Set myOutLook = CreateObject("outlook.application") Set Omail = myOutLook.CreateItem(olMailItem) 'メール作成 Omail.BodyFormat = 2 Omail.Subject = "意見記入のお願い" 'subject Omail.Body = Omail.Body & "いつもお世話になっております。" & vbCrLf Omail.Body = Omail.Body & "下記の申請が提出されました。" & vbCrLf Omail.Body = Omail.Body & "期限:10月30日" Omail.Display End Sub

  • 同じファイル内でリンクしたいのですが…

    HPを作ってまして、同じファイル内で項目から項目へリンクさせたいのですが、上手くいきません。 <A HREF="#TOP">ここから</A> <BR> <A NAME="TOP">ここへ</A> というタグを見つけたものの、ソースに貼り付けると <A HREF="#TOP">ここから</A><BR> <A NAME="TOP"></A>ここへ<BR> という形に直されてしまい、リンクできません。何か足りないのでしょうか?? ご存じな方、どうか教えてください。 初心者なので、なるべく分かりやすい言葉で回答頂けると助かります。

専門家に質問してみよう