[[20210112144240]] 『VBA メール本文の改行について(thunderbird)』(あすたろう) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『VBA メール本文の改行について(thunderbird)』(あすたろう)

thunderbirdメールを使用しています。
下記のコードでメール送信画面は立ち上がるのですが、本文が改行されません。

本文はD8セルを参照、D8は数10行あり、CHAR(10)で改行しています。

エクセル上ではちゃんと改行されているのですがマクロ実行すると改行されず一列で表示されます。

どうすれば改行できるでしょうか?

Sub Thunderbird_VBA()

Dim sPath As String
Dim mailadto As String
Dim mailadcc As String
Dim substring As String
Dim bodystring As String
Dim attachPath As String

sPath = """C:\Program Files (x86)\Mozilla Thunderbird\thunderbird.exe"" -compose "

mailadto = Worksheets("sheet1").Range("D5").Value
mailadcc = Worksheets("sheet1").Range("D6").Value
substring = Worksheets("sheet1").Range("D7").Value
bodystring = Worksheets("sheet1").Range("D8").Value
attachPath = "C:\Users\-------------.pdf"

Shell sPath & "to=" & mailadto & "," & "cc=" & mailadcc & "," & "subject=" & substring & "," & "body=" & bodystring & "," & "attachment=" & attachPath

End Sub

< 使用 Excel:Excel2019、使用 OS:Windows10 >


[[20200914091455]]
 過去ログのご紹介です
(´・ω・`) 2021/01/12(火) 14:55

すみません。
上記の過去ログも見ました。

これはセルを参照せずVBAコード内に文章を組みこむ場合の
改行方法のことかと思っていましたがこちらでできるのでしょうか…?

セルを参照する場合セル側で改行できていたら良いものかと思っていました。
(あすたろう) 2021/01/12(火) 15:01


 Shell関数にわたす引数にコントロールコードCHAR(10)=vbLFに含まれているのが原因なので、
 エンコードした文字列に置換すればいいはずです。

 bodystring = Replace(bodystring, vbLf, "%0D%0A")
  
 改行コードが "%0%0A" じゃないと駄目なのか、"%0A" だけでもいいのかはわかりません。
(´・ω・`) 2021/01/12(火) 15:15

bodystring = Replace(Worksheets("sheet1").Range("D8").Value, vbLf, "%0D%0A")

他サイトも参考にしながら、こちらでできました!本当にありがとうございました。
(あすたろう) 2021/01/12(火) 15:36


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.