質問
win32comでメール自動送付のプログラムを作っていますが、メールの先頭に書く宛名を変えるためにformatメソッドを使いました。
しかしformatメソッドの直後、テンプレートで設定されていた書式(文字の色、フォント、太さなど)やタブなどが初期化されてしまいました。
format以外で宛名など特定の文字列を変える方法はあるのでしょうか?
教えていただけたら幸いです。
該当のソースコード
Python
1name = "imbzer" 2 3outlook = win32com.client.Dispatch("Outlook.Application") 4mail = outlook.createItemFromTemplate(temp_path) 5 6mail.body = mail.body.format(name) 7#mail.HTMLbody = mail.HTMLbody.format(name)
実行結果
テンプレート
{} 様
締め切りは××日です。
よろしくお願いします。
失敗例1
imbzer 様
締め切りは××日です。
よろしくお願いします。
失敗例2
imbzer 様
締め切りは××日です。
よろしくお願いします。
試したこと
mail.Bodyの代わりに、mail.HTMLBodyのほうにFormatメソッドを使ってみましたが失敗例2の通り、一文ごとに不要な改行がされていました。
補足情報(FW/ツールのバージョンなど)
・使用言語はPythonです。
・win32comを用いてOutlookのVBAを実行しています。
回答1件
あなたの回答
tips
プレビュー