- ベストアンサー
ExcelVBAでメーラー本文へデータを送る方法
- ExcelVBAを使用して、エクセルで日報入力をフォームで行い、フォーム上のデータをシートに移行させながら管理者にメールを送信する方法について教えてください。
- メーラーの本文中でデータを改行して送信する方法についてもお知りになりたいです。
- LabelとTextBoxを使用してデータを管理し、ラベルに改行情報を持っていく方法についても教えていただきたいです。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
vbCrLFはVBAの改行定数なので、ハイパーリンク(mailto)内では使えないと思います。 mailtoを使う場合は、改行をエスケープシーケンス"%0d%0a"で入力してください。
その他の回答 (1)
- korokoro17
- ベストアンサー率55% (415/744)
vbCrLfで改行になります。 ちなみにタブはvbTabです。 body = Label1 & vbCrLf & TextBox1 & vbCrLf & Label2 & vbCrLf & TextBox2 & vbCrLf & Label3 & vbCrLf TextBox3 msg = bobj.SendMail(server, mailto, mailFrom, subject, body, "")
補足
早速のご回答ありがとうございます。 ご教授いただいた内容に修正した実際の記述です。 strSubject = Format(UserForm1.Label2.Caption, "m月d日") & UserForm1.Label5.Caption & "の修正日報" strBody = UserForm1.Label7.Caption & vbCrLf & UserForm1.TextBox1.Text & vbCrLf & UserForm1.Label8.Caption & vbCrLf & UserForm1.TextBox2.Text & vbCrLf &UserForm1.Label9.Caption & vbCrLf & UserForm1.TextBox3.Text & vbCrLf & "以上" strTO = Sheets("マスタ").Range("E2").Value strLink = "mailto:" & strTO & "&subject=" & strSubject & "&body=" & strBody ThisWorkbook.FollowHyperlink strLink 実際はLabel7~9とTextBox1~3を使用しております。 どこが悪いのか改行されずに表示されてしまします。
お礼
ありがとうございます。 ばっちり改行できました。 メール本文がすっきりわかりやすくなりました。 貴重なお時間を割いていただきありがとうございました。