• ベストアンサー

VBAでメールを送る際の、改行文字について

初心者です。ACCESS2013にてVBAでツールを作成しています。 フォームでテキストのデータをDocmd.SendObject でメール送信をしようとしています。 その際、フォームのテキスト内のデータに改行がある場合、どのように作成したらよいのでしょうか?

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

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.1

https://accessvbaprogramming.wordpress.com/2012/10/06/sending-email-from-access-using-docmd-sendobject/ のExample1 Send Table as Attachmentの emailmsg = “Hi Ashish,” & vbNewLine & vbNewLine & “Please find the report の vbNewLineのようなことではないのか。 >フォームのテキスト内のデータに改行がある場合 わかりにくい表現と思う。 メイルの本文==>利用者にフォーム内に作成(入力)させる==>メイルの本文にVBで作成する(移す)==>送信する、といったプロセスの2番目から3番目における問題か?。 やってみて、そのまま文字列の代入がでは不都合だったのか・できなかったのか?。 メイル送信の時は普通に改行復帰をメイルのコードに変換してくれるふうではないのか。 参考 http://www.atmarkit.co.jp/ait/articles/0602/18/news009.html

takamune
質問者

お礼

おっしゃるとおり、メイルの本文のプロセスがおかしかったです。改行コードをいれることにより、うまくうごきました。 ありがとうございます。

その他の回答 (1)

  • ReiReiCha
  • ベストアンサー率49% (63/127)
回答No.2

一番簡単なのは、改行コードをvbCrLfに置き換えることでしょう。 フォームの改行コードがvbLfであれば、 Replace(<<フォームのデータ>>, vbLf, vbCrLf) のようにvbCrLfに置換することで、メールの文書が改行されるようになります。

参考URL:
http://officetanaka.net/excel/vba/function/replace.htm
takamune
質問者

お礼

早速の回答ありがとうございます。 おっしゃるとおり、Replace(<<フォームのデータ>>, vbLf, vbCrLf)でもうまくうごきました。 色々ご教授いただきありがとうございました

関連するQ&A