web-dev-qa-db-ja.com

VBAでテキストの行が長すぎます

既定の返信を送信するマクロを作成しようとしています。私が抱えている問題は、テキストの本文が長すぎてコードの1行に収まらないことです。本文の2番目の段落を作成する方法がわかりません。また、返信の下部に自分の名前を残そうとしています-署名スタイル。行が長すぎるというマクロを実行しようとすると、エラーが発生します。誰か助けてくれませんか?これは私がこれまでに持っているものです。

Sub EmailReply()
Dim Reply As Outlook.MailItem
Dim Original As Outlook.MailItem
Set Original = Application.ActiveExplorer.Selection(1)
Set Reply = Original.Reply

Reply.Subject = "In reference to your inquiry."

Reply.Body = "Dear Client," & vbNewLine & vbNewLine & "     We thank you for consulting our firm regarding your legal issue. Unfortunately, upon a review of the information provided we are unable to assist you at this time. We encourage you to seek another legal option as there may be a strict statue of limitation that may extinguish your legal rights in your manner." & vbNewLine & "     Although you did not retain us in this matter, we encourage you to contact us in the future for any legal needs or questions that you may have. Of course, there is no charge for consultation."

Reply.Display

End Sub
1
Brett Tooson

vbNewLine_を次のように使用してみてください。

Reply.Body = "Dear Person"  & vbNewLine & vbNewLine & _
"Line1" & vbNewLine & _
"Line2" & vbNewLine & _
"Line3" & vbNewLine & vbNewLine & _
"Sincerely," & vbNewLine & _
"Me"

vbNewLineは改行文字を表します

_は、現在のステートメントが終了していないことをVBAに通知します。

1
Josh

MS OutlookでVBAを使用したことはなく、VBAの多くを使用したこともありませんが、行の長さに制限がある場合は、個別の変数を定義して連結することができます。

例えばa = "asdf" b = "qwert" c = a&vbNewLine&b

したがって、すでに持っているように、文字列を連結する方法を知っていますが、個別の変数を使用することもできます

0
barlop

テキストを複数の段落として電子メールに表示しますか、それとも単にコードに別々の行として表示しますか?

前者の場合:

eply.Body = "Dear Client," & vbNewLine & vbNewLine & "     We thank you for consulting our firm regarding your legal issue." & vbNewLine & vbNewLine & " Unfortunately, ..."

つまり、(HTML形式の電子メールではなく)テキストのみを入力する場合は、2つのvbNewLineを一緒に入力する必要があります。

後者の場合:

"........"  & _
"... more text ..."

等々。

0
Julian Knight