電子書籍の厳選無料作品が豊富!

Excel 2003 と Outlook 2003 を使用しています。

Excel の表を含んだセル範囲を Outlook にコピペして送信したいのですが、
定型業務化しているので、Excel のマクロで処理したいと考えています。

セルの値をテキスト形式のメッセージに設定するプログラムは作成経験があるのですが、
HTML形式のメッセージの場合は全く初めてでして、方法(メソッドなど)が分かりません。
HTMLBody プロパティに html 文を設定すればよさそうな気がしますが、Excel のデータを
マクロで html 文に生成する方法も分かりません。

何か、サンプルプログラムやヒントがございましたら、ご教授ください。
よろしくお願いします。

A 回答 (4件)

こんにちは。

KenKen_SP です。

これはどうですか?

【Elie_World : 計算機システムのマネジメント】
http://www.geocities.jp/elie_world/management_e- …

上記サイト内のコンテンツ
【Elie_ExcelRangeHtml_OutlookMail Ver 1.0.0】
www.geocities.jp/elie_world/available_software/elie_excelrangehtml_outlookmail/index.html

この回答への補足

こんなソフトがあったんですね。素晴らしいです。
コードが読めればさらに良かったですが・・・

補足日時:2005/11/07 22:47
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
事情により数日PCに触ることが出来ず、お返事が遅くなり申し訳ありませんでした。

これから、ご提示の(No4の)ページをじっくり読んでみたいと思います。

お礼日時:2005/11/06 19:24

#3 です。



すみません。トップページのリンクを間違えました。
こちらです。

http://www.geocities.jp/elie_world/
    • good
    • 0
この回答へのお礼

こちらの欄をお借りしてご回答いただいた皆様にお礼申し上げます。

1.VBA で HTML ファイルが読めるとは最初は考えていませんでした。中身はテキストファイル形式なので
  冷静に考えれば読み込み出来ることが分かったはずなのですが・・・未熟でした。

2.今回は利用しませんが、Basp21 の SendMail は何かの機会に利用できそうです。

3.同じような事考えている人いたのですね。私にはご紹介いただいたソフトの作者のような技術力が無いのが残念です。

また、よろしくお願いします。

お礼日時:2005/11/07 23:03

こんにちは。



まず、ヒントだけになってしまいますが、sendmail を使えばよいと思います。ただ、MAPIを使っても、Outlookなどを通すと、一旦、Outlookにプールされます。ですから、以下にあるBasp21 のコンポーネントの中のSendMail のダイナミックリンクライブラリを使えば、直接送信でき、かなり自由な取り扱いが出来ます。だいたい、VB/VBAを扱う人たちは、Basp21のSendMailを使うかと思います。VB用のコードをVBAに転用すれば、思ったようになるかと思いますし、内容を丹念に読めば、Excelのサンプルも出てきます。

そうではなく、あくまで、Outlook で送信するのでしたら、インターネット検索すれば、サンプルコードはかなり出てくるはずです。

Baba Centerfolds

参考URL:http://www.hi-ho.ne.jp/babaq/index.html

この回答への補足

ご提示のページを参考に SendMail を試しまして、うまく送信は出来ました。
出来れば、Excel の表が(HTML メールのように)初めからメールで見れる状態で送信したいのですが・・・

> そうではなく、あくまで、Outlook で送信するのでしたら、インターネット検索すれば、サンプルコードはかなり出てくるはずです。
テキスト形式の例はたくさんありました。HTMLBody プロパティにタグを直接記述する例もありました。
しかし、Excel の表を HTML メールで送信する VBA コードの例は見つかりませんでした。
私の探し方が悪いだけかもしれませんが・・・

補足日時:2005/11/06 21:47
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
事情により数日PCに触ることが出来ず、お返事が遅くなり申し訳ありませんでした。

これから、ご提示のページをじっくり読んでみたいと思います。

お礼日時:2005/11/06 19:22

ファイル>webページとして保存


はダメですか?

この回答への補足

ご提示のヒントを基に試行錯誤してみました。
下記のようなコードを作成しテストしました。
HTM ファイルを生成しないで実行できればなお良いのですが・・・

Public Sub Test1()
Dim objOutlook As Object
Dim objMail As Object
Dim MyLine As String
Dim MyBody As String

With ActiveWorkbook.PublishObjects.Add(xlSourceRange, "Test123.htm", ActiveSheet.Name, ActiveSheet.UsedRange.Address)
.Publish (True)
.AutoRepublish = False
End With

Set objOutlook = CreateObject("Outlook.Application")
Set objMail = objOutlook.CreateItem(olMailItem)
MyBody = ""

Open "Test123.htm" For Input As #1
Do Until EOF(1)
Line Input #1, MyLine
MyBody = MyBody & vbCrLf & MyLine
Loop

With objMail
.HTMLBody = MyBody
.Display
End With

Close #1
Set objMail = Nothing
Set objOutlook = Nothing
End Sub

補足日時:2005/11/06 19:04
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
また、お返事が遅くなり申し訳ありません。

お礼日時:2005/11/06 19:04

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!