Ich habe Windows 10 Umgebung mit Python 2.7, win32com Paket 219 installiert ist.Nachdem Windows Update diesen Fehler bekommen AttributeError: olEmbeeditem
Ich konnte unter Code ausführen, der ein Makro in Excel ausführt und ein Tortendiagramm generiert, das an E-Mail gesendet und gesendet wird (auch in E-Mail-Körper eingebettet werden). Dieses Programm funktionierte gut, früher, aber nach einigen Windows-Updates, das gleiche gibt AttributeError: olEmbedded, ich habe win32com.client und seine Konstante importiert.
Willst du das eingebettete Bild in den E-Mail-Körper, so ersetzen olEmbeddedItem mit olByValue usw. nicht helfen, denke ich, obwohl ich versucht habe, die auch nicht funktioniert hat.
Ich habe auch Neuinstallation von Win32com-Paket von Python gemacht, jedoch Problem bestehen.
Früherer funktionierender Code nicht enthalten "von win32com.client Import Konstanten", aber da es nicht funktionierte, habe gedacht, diese Zeile hinzuzufügen, aber das hat auch nicht geholfen.
Jede Hilfe wäre willkommen.
import sys
import os
import win32com.client
import codecs
from win32com.client import constants
sys.stdout = codecs.getwriter("iso-8859-1")(sys.stdout, 'xmlcharrefreplace')
outlook = win32com.client.Dispatch("Outlook.Application").GetNamespace("MAPI")
inbox = outlook.GetDefaultFolder(6)
all_inbox = inbox.Items
folders = inbox.Folders
olMailItem = 0x0
obj = win32com.client.Dispatch("Outlook.Application")
xlApp = win32com.client.Dispatch("Excel.Application")
ExcelWorkBook = xlApp.Workbooks.Open('C:\Users\xxx\Desktop\data.xlsm')
xlSheet1 = ExcelWorkBook.Sheets("Sheet1")
xlApp.Application.Run("data.xlsm!Macro1")
chart1 = xlSheet1.ChartObjects(1)
chart1.Chart.Export("C:\Users\xxx\Desktop\photo.gif", "GIF", False)
xlApp.Workbooks(1).Close(SaveChanges=0)
xlApp.Application.Quit()
newMail = obj.CreateItem(olMailItem)
newMail.Subject = "Presentation of Automation"
attachment = newMail.Attachments.Add("C:\Users\xxx\Desktop\photo.gif", win32com.client.constants.olEmbeddeditem, 0, "photo")
imageCid = "photo.gif"
attachment.PropertyAccessor.SetProperty("http://schemas.microsoft.com/mapi/proptag/0x3712001E", imageCid)
newMail.HTMLBody = "<body>Dear Sir,Madam,<br>Please find the requested details.<br><br><p><img src=\"cid:{0}\"></body>".format(imageCid)
newMail.To = x
attachment1 = "C:\Users\xxx\Desktop\photo.gif"
newMail.Attachments.Add(attachment1)
newMail.Send()
os.remove("C:\Users\xxx\Desktop\photo.gif")
msg.UnRead = False
Bitte zeigen Sie die detaillierte Ausnahme, die Sie erhalten, einschließlich Zeilennummer (die Sie in Ihrem Code markieren sollten, nur um klar zu sein) – Schollii
@Schollii, finden Sie die Ausnahme, die ich bekam. 'Traceback (jüngste Aufforderung zuletzt): Datei "C: \ Benutzer \ xxx \ Desktop \ abc.py", Zeile 21, in x = msg.Sender.GetExchangeUser() PrimarySmtpAddress Attribute:.' NoneType 'Objekt hat kein Attribut' PrimarySmtpAddress ' ' –
MSY