Я не думаю, что это будет возможно с win32com
. Метод Attachments.Add
в Outlook требует наличия файла или элемента outlook в качестве аргумента Source
:
Источник вложения. Это может быть файл (представлен полный путь к файловой системе с именем файла) или элемент Outlook, который представляет собой вложение.
И для
pandas.ExcelWriter
также требуетсяpath
, хотя этот другой аналогичный вопрос (и ответ) предполагает, что это возможно, обернувExcelWriter
вBytesIO
для отправки по электронной почте, а не через Outlook:def export_excel(df): with io.BytesIO() as buffer: writer = pd.ExcelWriter(buffer) df.to_excel(writer) writer.save() return buffer.getvalue()
Но это не похоже на работу с API Outlook (проверено только сейчас):
>>> attachment = export_excel(df) >>> mail.Attachments.Add(attachment) Traceback (most recent call last): File "
", line 1, in File " >", line 3, in Add pywintypes.com_error: (-2147024809, 'The parameter is incorrect.', None, None)