Trabalhando com Tarefas do Outlook
Criando, Salvando e Lendo Tarefas
Aspose.Email para .NET permite que você crie tarefas do Outlook e as salve no formato MSG. A classe MapiTask fornece uma série de propriedades, como Percentcomplete, Estimatedeffort, ActualEffort, History, LastUpdate e outras, para acomodar e definir informações necessárias para uma tarefa do Outlook. Este artigo mostra como criar, salvar e ler uma MapiTask do disco. Para criar e salvar uma tarefa no disco:
- Instanciar um novo objeto da classe MapiContact.
- Inserir informações das propriedades da tarefa.
- Salvar a tarefa no disco no formato MSG.
O seguinte trecho de código mostra como criar, salvar e ler Tarefas.
For complete examples and data files, please go to https://github.com/aspose-email/aspose-email-python-dotnet | |
task = MapiTask("To Do", "Just click and type to add new task", dt.datetime(2018, 6, 1, 21, 30, 0), dt.datetime(2018, 6, 4, 21, 30, 0)) | |
task.percent_complete = 20 | |
task.estimated_effort = 2000 | |
task.actual_effort = 20 | |
task.history = MapiTaskHistory.ASSIGNED | |
task.last_update = dt.datetime(2018, 6, 1, 21, 30, 0) | |
task.users.owner = "Darius" | |
task.users.last_assigner = "Harkness" | |
task.users.last_delegate = "Harkness" | |
task.users.ownership = MapiTaskOwnership.ASSIGNERS_COPY | |
task.companies = [ "company1", "company2", "company3" ] | |
task.categories = [ "category1", "category2", "category3" ] | |
task.mileage = "Some test mileage" | |
task.billing = "Test billing information" | |
task.users.delegator = "Test Delegator" | |
task.sensitivity = MapiSensitivity.PERSONAL | |
task.status = MapiTaskStatus.COMPLETE | |
task.estimated_effort = 5 | |
task.save(dataDir + "CreatingAndSavingOutlookTask_out.msg", TaskSaveFormat.MSG) |
Lendo uma MapiTask
O objeto da classe MapiContact é usado para converter o objeto MapiMessage que carrega uma tarefa do disco no formato MSG. O seguinte trecho de código mostra como ler uma MapiTask.
For complete examples and data files, please go to https://github.com/aspose-email/aspose-email-python-dotnet | |
message = MapiMessage.from_file("Contact.msg") | |
apiContact = message.to_mapi_message_item() |
Lendo uma Tarefa VToDo
Tarefas do Google exportadas no formato iCalendar como eventos VToDo podem ser carregadas usando a classe MapiTask, como mostrado no seguinte exemplo de código. O seguinte trecho de código mostra como ler uma Tarefa VToDo.
import aspose.email as ae
data_dir = "path/to/data/directory"
task = ae.mapi.MapiTask.from_v_todo(data_dir + "VToDoTask.ics")
task.save(data_dir + "VToDo_out.msg", ae.TaskSaveFormat.Msg)
Adicionando Informações de Lembrete a uma MapiTask
Semelhante ao Microsoft Outlook, Aspose.Email pode adicionar informações de lembrete a uma MapiTask. O seguinte trecho de código mostra como adicionar informações de lembrete a uma MapiTask.
For complete examples and data files, please go to https://github.com/aspose-email/aspose-email-python-dotnet | |
task = MapiTask("To Do", "Just click and type to add new task", dt.datetime(2018, 6, 1, 21, 30, 0), dt.datetime(2018, 6, 4, 21, 30, 0)) | |
task.reminder_set = True | |
task.reminder_time = dt.datetime(2018, 6, 1, 21, 30, 0) | |
task.reminder_file_parameter =dataDir + "file://Alarm01.wav" | |
task.save(dataDir + "AddReminderInformationToMapiTask_out.msg", TaskSaveFormat.MSG) |
Adicionando Anexos a uma MapiTask
Use o método Add da classe MapiAttachmentCollection para adicionar um anexo a uma MapiTask. O seguinte exemplo de código ajudará você com isso:
import aspose.email as ae
import datetime as dt
task = ae.mapi.MapiTask("Tarefa com anexo", "Corpo de teste da tarefa com anexo", dt.datetime.now(), dt.datetime.now());
task.attachments.add("Attachment.txt", str.encode("dados do anexo"))
task.save("AddAttachmentsToMapiTask_out", ae.mapi.TaskSaveFormat.MSG)
Adicionando Recorrência a MapiTask
Aspose.Email permite criar uma tarefa recorrente onde a recorrência pode ser diária, semanal, mensal ou anual. O seguinte trecho de código mostra como criar uma tarefa com diferentes tipos de recorrência.
For complete examples and data files, please go to https://github.com/aspose-email/aspose-email-python-dotnet | |
startDate = dt.datetime(2015, 4, 30, 10, 00, 00) | |
task = MapiTask("abc", "def", startDate, dt.datetime(2015, 4, 30, 11, 00, 00)) | |
task.state = MapiTaskState.NOT_ASSIGNED | |
# Set the weekly recurrence | |
rec = MapiCalendarDailyRecurrencePattern() | |
rec.pattern_type = MapiCalendarRecurrencePatternType.DAY | |
rec.period = 1 | |
rec.week_start_day = 0 #0 is for Sunday and so on. WeekStartDay=0 | |
rec.occurrence_count = 0 | |
task.recurrence = True | |
task.save(dataDir + "AsposeDaily_out.msg", TaskSaveFormat.MSG) | |
# Set the weekly recurrence | |
rec1 = MapiCalendarWeeklyRecurrencePattern() | |
rec1.pattern_type = MapiCalendarRecurrencePatternType.WEEK | |
rec1.period = 1 | |
rec1.day_of_week = MapiCalendarDayOfWeek.WEDNESDAY | |
rec1.end_type = MapiCalendarRecurrenceEndType.NEVER_END | |
rec1.occurrence_count = 0 | |
task.recurrence = rec1 | |
task.save(dataDir + "AsposeWeekly_out.msg", TaskSaveFormat.MSG); | |
# Set the monthly recurrence | |
recMonthly = MapiCalendarMonthlyRecurrencePattern() | |
recMonthly.pattern_type = MapiCalendarRecurrencePatternType.MONTH | |
recMonthly.period = 1 | |
recMonthly.end_type = MapiCalendarRecurrenceEndType.NEVER_END | |
recMonthly.day = 30 | |
recMonthly.occurrence_count = 0 | |
recMonthly.week_start_day = 0 #0 is for Sunday and so on. WeekStartDay=0 | |
task.recurrence = recMonthly | |
task.save(dataDir + "AsposeMonthly_out.msg", TaskSaveFormat.MSG); | |
# Set the yearly recurrence | |
recYearly = MapiCalendarMonthlyRecurrencePattern() | |
recYearly.pattern_type = MapiCalendarRecurrencePatternType.MONTH | |
recYearly.end_type = MapiCalendarRecurrenceEndType.NEVER_END | |
recYearly.occurrence_count = 10 | |
recYearly.period = 12 | |
task.recurrence = recYearly | |
task.save(dataDir + "AsposeYearly_out.msg", TaskSaveFormat.MSG) |
Convertendo uma Tarefa para MHT
O seguinte exemplo de código demonstra como converter uma tarefa para o formato MHT especificando opções adicionais para o formato MHT quando campos específicos da tarefa devem ser renderizados (RENDER_TASK_FIELDS) e que as informações do cabeçalho devem ser incluídas (WRITE_HEADER). A propriedade mht_format_options da classe MhtSaveOptions é usada para definir opções adicionais ao salvar no formato MHTML.
import aspose.email as ae
msg = ae.mapi.MapiMessage.load("MapiTask.msg")
opt = ae.SaveOptions.default_mhtml
opt.mht_format_options = ae.MhtFormatOptions.RENDER_TASK_FIELDS | ae.MhtFormatOptions.WRITE_HEADER
msg.save("MapiTask_out.mht", opt)