

ネットで調べたのですがなかなか対処法が見つからないので、こちらで質問させていただきます。

現在、Pythonとwin32comでメールを自動送付するツールを作成しているのですが、リッチテキスト形式での実行のため、文中にファイルを添付しようと考えています。

想定

[code]

    以下にファイルを添付します。
    {添付ファイル}　
    よろしくお願いします。
    
[/code]

使用コード

[code]

    outlook =  = win32com.client.Dispatch("Outlook.Application")
    mail = outlook.createItemFromTemplate(template_item)
    
    mail.to = ""
    mail.cc = ""
    mail.bcc = ""
    mail.bodyformat = 3 # 3: リッチテキスト
    mail.Attachment.Add(attachment)
    mail.Display(True)
    
[/code]

しかし上記のコードの場合、すべてのファイルがメールの最下部に添付されてしまいます。あらかじめ決めた場所に{}を書き込み、format()で挿入も考えましたが、ファイル名が書き込まれるのみでした。  
行内にファイルを添付するにはどうすればいいのでしょうか？


CC BY-SA 4.0
2021-09-27T06:26:31.183
82712
2021-10-01T06:23:51.507
2021-09-28T05:29:51.993
41798
41798
question
python
Pythonで添付ファイルをメールの行内に貼る方法


Attachment.Addの前にDisplayを実行することで、任意の行内にファイルを添付することができました。

[code]

    mail.to = ""
    mail.cc = ""
    mail.bcc = ""
    mail.bodyformat = 3
    mail.Display(True) # タイミングを変える
    mail.Attachment.Add(Source=attachment,Position=position)
    
[/code]


CC BY-SA 4.0
2021-10-01T04:21:16.960
82784
2021-10-01T06:23:51.507
2021-10-01T06:23:51.507
3060
41798
82712
answer