- 締切済み
エクセルからOutlookexpressに表を貼り付ける
はじめまして、時々参考にさせて頂いてます。初心者に近い者です。 コマンドボタンを使い、エクセルの表をメールに添付ではなく、本文(Text)として送りたいのです。 以前、かなり私の要望に近いものがありました。 ↓ Dim Subj As String Dim BodyText As String Cells(1, "A") = "帰国報告" Cells(1, "B") = "昨日かえって来ました" Subj = Cells(1, "A") BodyText = Cells(1, "B") t = "C:\Program Files\Outlook Express\msimn.exe /mailurl:mailto:(自分のメイルアドレステキスト)?bcc=(自分のメイルアドレステキスト)&subject=" & Subj & "&body=" & BodyText & "%20" MsgBox t Shell t End Sub 上記はでは、ひとつのセル分しか本文に入らないのですが、 これで、エクセル上の表(6列×15行程度)が本文にテキスト文として入れば、完璧です! よろしくお願いします。 WinXpsp2・EXCEL2003・outlookexpress6
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- imogasi
- ベストアンサー率27% (4737/17069)
質問のコードが見覚えがあると思って検索すると、小生のものでした。 下記のコードで Sheet1のA2:D6のエクセル表 例データ A社製品売上 鉛筆 消しゴム ノート 2006年 12 123 34 2007年 23 231 54 2008年 15 222 61 をメモ帳に A社製品売上 鉛筆 消しゴム ノート 2006年 12 123 34 2007年 23 231 54 2008年 15 222 61 に変換できました。 これをメイル本文にコピペして、とりあえずやってはどうですか。 標準モジュールに Sub test01() Open "C:\Documents and Settings\xxxx\My Documents\メイル表.txt" For Output As #1 d = Range("A100").End(xlUp).Row c = Range("IV4").End(xlToLeft).Column 'MsgBox d 'MsgBox c Print #1, vbTab, Cells(2, "B") For i = 3 To d s = "" For j = 1 To c s = s & vbTab & Cells(i, j) Next j s = s & vbCrLf Print #1, s 'MsgBox s Next i Close #1 End Sub XXXXはユーザー名です。 表の体裁によって部分的に修正するエクセルVBAの力は要るが。 見出し以外は正方形のカタチを予定している。 そうでないときは d = Range("A100").End(xlUp).Row c = Range("IV4").End(xlToLeft).Column のAや4を適当に工夫してください。
お礼
参考になりました!ありがとうございました!