我正在嘗試自動發送一些電子郵件,但我需要根據 Excel 中的單元格參考動態地顯示主題(為了表示,我們只說檔案路徑是 Document\Email_Excel,選項卡稱為“概述”我進行動態名稱更改的單元格是 A1,而動態日期是 B2。下面是我用來執行電子郵件的 Python 代碼:
from email import message
import win32com.client as client
outlook = client.dispatch("Outlook.Application")
message = outlook.CreateItem(0)
message.Display()
message.To = "EMAIL LIST"
message.Subject = "DYNAMIC NAME, DYNAMIC DATE Data"
html_body = """
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<p>Hello,</p>
<p>Could you please send over the DYNAMIC DATE information?</p>
<p>If you already sent over the information required, please disregard this message.</p>
<p>Thank you.</p>
</body>
</html>
"""
message.HTMLBody = html_body
我是 python 新手,所以如果我能提供更多資訊,請告訴我。
謝謝你。
uj5u.com熱心網友回復:
一種方法是使用openpyxl. 您可以將以下內容附加到問題中的代碼中:
from openpyxl import load_workbook
wb = load_workbook(filename = 'Document\Email_Excel.xlsx')
ws = wb['Overview']
dynamicName, dynamicDate = str(ws['A1'].value), str(ws['B2'].value)
message.Subject = message.Subject.replace('DYNAMIC NAME', dynamicName).replace('DYNAMIC DATE', dynamicDate)
message.HTMLBody = message.HTMLBody.replace('DYNAMIC NAME', dynamicName).replace('DYNAMIC DATE', dynamicDate)
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/491500.html
上一篇:提高宏觀效率(VBA)
