Я хотел создать лучшие автоматизированные отчеты, включая визуальные эффекты, а не только текст. Конкретным способом, которым я хотел это сделать, было обращение к outlook.application
через win32com.client
.
Я знаю основы отправки электронного письма, и я попытался прочитать справочник по VBA, и самым близким, что я нашел, был Просмотр объекта , но я искал возможность добавления пирога диаграммы, гистограммы и т. д.
Я знаю, через графический интерфейс, однажды в открытом сообщении, которое выскочило из приложения, вы можете Insert > Chart
и выбрать нужный график для загрузки в сообщение.
Есть ли способ в API Outlook, чтобы иметь возможность использовать эти графики / диаграммы, доступные в окне Insert Chart
? Или API относительно ограничен в доступных функциях по сравнению с приложением, когда дело доходит до стилизации / форматирования сообщений?
Вот простой код для создания / отправки сообщения, я хотел добавить эти визуальные эффекты в тело сообщения.
import win32com.client as win32
outlook = win32.Dispatch('outlook.application')
mail = outlook.CreateItem(0)
mail.To = 'some@name'
mail.Subject = 'Subject'
mail.Body = 'Body'
# or
mail.HTMLBody = '<h2>HTML body</h2>'
mail.Send()
Обновление
Я сейчас больше разбираюсь в этом, но нашел это для vba, которая должна делать то, что я ищу. Я тоже немного возился с объектами диаграммы в Excel. Вот код, который мне нужно понять
Sub CopyAndPasteToMailBody()
Set mailApp = CreateObject("Outlook.Application")
Set mail = mailApp.CreateItem(olMailItem)
mail.Display
Set wEditor = mailApp.ActiveInspector.wordEditor
ActiveChart.ChartArea.Copy
wEditor.Application.Selection.Paste
End Sub
Вот мой код, который создаст объект диаграммы:
from win32com import client
excel = client.Dispatch("excel.application")
excel.Visible = True
wb = excel.Workbooks.Add()
ws = wb.Worksheets.Add()
chs = ws.ChartObjects()
co = chs.Add(0,0,500,500)
Обновление
Ниже я ответил, как создать диаграмму в Excel и отправить ее через Outlook. Это не «Outlook API», поскольку необходимо использовать Office в целом. Если вы запутались, как я, из-за отсутствия документации по использованию win32com для взаимодействия с приложениями Office, то это потому, что все это здесь в VBA Reference и просто должно быть соответствующим образом преобразовано в python.