- ベストアンサー
VBAサンダーバードのメール自動作成方法と本文の文字列処理について
- VBAを使用してサンダーバードでメールを自動作成する方法について質問があります。また、本文の文字列処理において、特定の文字が途切れないようにする方法についても教えてください。
- 質問者はVBAを使ってサンダーバードでメールを自動作成していますが、本文の文字列処理で特定の文字が途切れる問題が発生しています。具体的には、本文の文字列に「,」が含まれる場合、その位置で文字列が途切れてしまうとのことです。
- 質問者は、変数honbunに格納された文字列が普通の文字列として扱われるようにしたいと考えています。これにより、本文の文字列に「,」が含まれていても途切れないようにすることができます。具体的な解決策があれば教えてください。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
>Bodyst = honbun >Shell sPath & "to=" & Mailad & "," & _ > "subject=""" & Subjct & """," & _ > "body=""" & Bodyst & """" Bodyst = Replace(honbun, "&", "&") Shell sPath & "mailto:" & Mailad & "?" & _ "subject=""" & Subjct & """&" & _ "body=""" & Bodyst & """" ..こんな感じではどうでしょう。 『&』つなぎにして、本文内に『&』があれば全角にしておく対処。 『,』と『&』とどちらが使用する頻度が高いかな、という点と 『,』と『&』全角にした時の違和感を考えて、そこは好みで 『,』でも構わないかと思います。
その他の回答 (1)
- kamepanman
- ベストアンサー率43% (19/44)
このページに詳しく書いてます https://developer.mozilla.org/ja/Command_Line_Options#Syntax_Rules 構文規則の項目を参照すると、 >複数のメッセージオプションは、例えば "to=foo@nowhere.net,subject=cool page" のように、カンマ (,) で切り離します。カンマの前後に空白 ( ) を入れてはいけません。 これに反応して切り離されているのでは? >ひとつの欄に複数の値を割り当てるには、"to='foo@nowhere.net,foo@foo.de',subject=cool page" のように引用符 (') でくくってください。 とありますので、「引用符 (') 」で本文を囲んではどうでしょうか?
お礼
回答ありがとうございます。 頂いたアドバイスで、カンマを含む文字が切り離されずに入力できました。 ただ、当たり前ですが、メール本文に引用符(')がつくようになってしまいまして こいつを取り除きたいのですが、そんなことは可能でしょうか?
お礼
ありがとうございます。 頂いたアドバイス通り、以下の構文で問題なく動作しました。 (&ではなく、カンマを全角にする対応としました) Bodyst = honbun Bodyst = Replace(honbun, ",", ",") Shell sPath & "to=" & Mailad & "," & _ "subject=""" & Subjct & """," & _ "body=""" & Bodyst & """"