Buat, Simpan, dan Baca Tugas Outlook
Artikel ini membahas Outlook standalone MapiTask item disimpan sebagai MSG. Untuk menyimpan dan membaca tugas di dalam PST, lihat Mengelola Tugas, Jurnal, dan Catatan dalam File PST.
Buat Tugas Outlook
Aspose.Email untuk .NET memungkinkan Anda membuat tugas Outlook dan menyimpannya ke format MSG. MapiTask kelas menyediakan sejumlah properti seperti PercentComplete, EstimatedEffort, ActualEffort, History, LastUpdate, dan lainnya, untuk menyesuaikan dan mengatur informasi yang diperlukan untuk tugas Outlook. Artikel ini menunjukkan cara membuat, menyimpan, dan membaca sebuah MapiTask dari disk. Untuk membuat dan menyimpan tugas ke disk:
- Instansiasi objek baru dari MapiTask kelas.
- Masukkan informasi properti tugas.
- Simpan tugas ke disk dalam format MSG.
Potongan kode berikut menunjukkan cara membuat, menyimpan, dan membaca Tugas.
// The path to the File directory.
string dataDir = RunExamples.GetDataDir_Outlook();
MapiTask task = new MapiTask("To Do", "Just click and type to add new task", DateTime.Now, DateTime.Now.AddDays(3));
task.PercentComplete = 20;
task.EstimatedEffort = 2000;
task.ActualEffort = 20;
task.History = MapiTaskHistory.Assigned;
task.LastUpdate = DateTime.Now;
task.Users.Owner = "Darius";
task.Users.LastAssigner = "Harkness";
task.Users.LastDelegate = "Harkness";
task.Users.Ownership = MapiTaskOwnership.AssignersCopy;
task.Companies = new string[] { "company1", "company2", "company3" };
task.Categories = new string[] { "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.EstimatedEffort = 5;
task.Save(dataDir + "MapiTask.msg", TaskSaveFormat.Msg);
Baca Tugas MAPI
Tugas yang disimpan dalam format MSG dapat dimuat ke dalam MapiMessage dan kemudian dikonversi ke MapiTask dengan akses ke properti spesifik mereka, seperti subjek dan status. Contoh kode berikut menunjukkan cara membaca dan memanipulasi detail tugas dari file MSG yang disimpan:
MapiMessage msg = MapiMessage.FromFile(dataDir + "MapiTask.msg");
MapiTask task = (MapiTask)msg.ToMapiMessageItem();
Console.WriteLine("Subject: " + task.Subject);
Console.WriteLine("Status: " + task.Status);
Console.WriteLine("Percent complete: " + task.PercentComplete);
Baca Tugas VToDo
Tugas Outlook yang diekspor dalam format iCalendar sebagai acara VToDo dapat dimuat menggunakan MapiTask kelas seperti yang ditunjukkan dalam contoh kode berikut. Potongan kode berikut menunjukkan cara membaca Tugas VToDo.
MapiTask task = MapiTask.FromVTodo(dataDir + "VToDoTask.ics");
task.Save(dataDir + "VToDo_out.msg", TaskSaveFormat.Msg);
Tambahkan Informasi Pengingat ke Tugas MAPI
Mirip dengan Microsoft Outlook, Aspose.Email dapat menambahkan informasi pengingat ke sebuah MapiTask. Potongan kode berikut menunjukkan cara menambahkan informasi pengingat ke sebuah MapiTask.
// The path to the File directory.
string dataDir = RunExamples.GetDataDir_Outlook();
// Create MapiTask and set Task Properties
MapiTask testTask = new MapiTask("task with reminder", "this is a body", DateTime.Now, DateTime.Now.AddHours(1));
testTask.ReminderSet = true;
testTask.ReminderTime = DateTime.Now;
testTask.ReminderFileParameter =dataDir + "Alarm01.wav";
testTask.Save(dataDir + "AddReminderInformationToMapiTask_out.msg", TaskSaveFormat.Msg);
Tambahkan Lampiran ke Tugas MAPI
Potongan kode berikut menunjukkan cara menambahkan lampiran ke sebuah MapiTask.
// The path to the File directory.
string dataDir = RunExamples.GetDataDir_Outlook();
string attachmentContent = "Test attachment body";
string attachmentName = "Test attachment name";
MapiTask testTask = new MapiTask("Task with attachment", "Test body of task with attachment", DateTime.Now, DateTime.Now.AddHours(1));
testTask.Attachments.Add(attachmentName, Encoding.Unicode.GetBytes(attachmentContent));
testTask.Save(dataDir + "AddAttachmentsToMapiTask_out.msg", TaskSaveFormat.Msg);
Tambahkan Pengulangan ke Tugas MAPI
Aspose.Email memungkinkan pembuatan tugas berulang di mana pengulangan dapat harian, mingguan, bulanan, atau tahunan. Potongan kode berikut menunjukkan cara membuat tugas dengan tipe pengulangan yang berbeda.
DateTime startDate = new DateTime(2015, 04, 30, 10, 00, 00);
MapiTask task = new MapiTask("abc", "def", startDate, startDate.AddHours(1));
task.State = MapiTaskState.NotAssigned;
// Set the daily recurrence
var rec = new MapiCalendarDailyRecurrencePattern
{
PatternType = MapiCalendarRecurrencePatternType.Day,
Period = 1,
WeekStartDay = DayOfWeek.Sunday,
EndType = MapiCalendarRecurrenceEndType.NeverEnd,
OccurrenceCount = 0,
};
task.Recurrence = rec;
task.Save(dataDir + "AsposeDaily_out.msg", TaskSaveFormat.Msg);
// Set the weekly recurrence
var rec1 = new MapiCalendarWeeklyRecurrencePattern
{
PatternType = MapiCalendarRecurrencePatternType.Week,
Period = 1,
DayOfWeek = MapiCalendarDayOfWeek.Wednesday,
EndType = MapiCalendarRecurrenceEndType.NeverEnd,
OccurrenceCount = 0,
};
task.Recurrence = rec1;
task.Save(dataDir + "AsposeWeekly_out.msg", TaskSaveFormat.Msg);
// Set the monthly recurrence
var recMonthly = new MapiCalendarMonthlyRecurrencePattern
{
PatternType = MapiCalendarRecurrencePatternType.Month,
Period = 1,
EndType = MapiCalendarRecurrenceEndType.NeverEnd,
Day = 30,
OccurrenceCount = 0,
WeekStartDay = DayOfWeek.Sunday,
};
task.Recurrence = recMonthly;
//task.Save(dataDir + "AsposeMonthly_out.msg", TaskSaveFormat.Msg);
// Set the yearly recurrence
var recYearly = new MapiCalendarMonthlyRecurrencePattern
{
PatternType = MapiCalendarRecurrencePatternType.Month,
EndType = MapiCalendarRecurrenceEndType.NeverEnd,
OccurrenceCount = 10,
Period = 12,
};
task.Recurrence = recYearly;
//task.Save(dataDir + "AsposeYearly_out.msg", TaskSaveFormat.Msg);
Konversi Tugas ke MHT
Aspose.Email dapat menghasilkan MailMessage seperti output selama konversi sebuah MapiTask ke MHT.
MapiMessage msg = MapiMessage.FromFile(dataDir + "MapiTask.msg");
MhtSaveOptions opt = SaveOptions.DefaultMhtml;
opt.MhtFormatOptions = MhtFormatOptions.RenderTaskFields | MhtFormatOptions.WriteHeader;
opt.FormatTemplates.Clear();
opt.FormatTemplates.Add(MhtTemplateName.Task.Subject, "<span class='headerLineTitle'>Subject:</span><span class='headerLineText'>{0}</span><br/>");
opt.FormatTemplates.Add(MhtTemplateName.Task.ActualWork, "<span class='headerLineTitle'>Actual Work:</span><span class='headerLineText'>{0}</span><br/>");
opt.FormatTemplates.Add(MhtTemplateName.Task.TotalWork, "<span class='headerLineTitle'>Total Work:</span><span class='headerLineText'>{0}</span><br/>");
opt.FormatTemplates.Add(MhtTemplateName.Task.Status, "<span class='headerLineTitle'>Status:</span><span class='headerLineText'>{0}</span><br/>");
opt.FormatTemplates.Add(MhtTemplateName.Task.Owner, "<span class='headerLineTitle'>Owner:</span><span class='headerLineText'>{0}</span><br/>");
opt.FormatTemplates.Add(MhtTemplateName.Task.Priority, "<span class='headerLineTitle'>Priority:</span><span class='headerLineText'>{0}</span><br/>");
msg.Save(dataDir + "MapiTask_out.mht", opt);
Konversi MSG ke HTML Mempertahankan Bidang Tugas
The HtmlFormatOptions.RenderTaskFields enumerasi memungkinkan Anda menentukan bahwa bidang tugas harus disertakan dalam header file HTML yang disimpan. Potongan kode berikut menunjukkan cara mempertahankan bidang tugas dalam header saat menyimpan file html:
var msg = MapiMessage.Load("task.msg");
HtmlSaveOptions opt = SaveOptions.DefaultHtml;
opt.HtmlFormatOptions = HtmlFormatOptions.WriteHeader | HtmlFormatOptions.RenderTaskFields;
msg.Save("task.html", opt);
Lihat Juga
- Mengelola Tugas, Jurnal, dan Catatan dalam File PST — menyimpan dan membaca tugas, jurnal, dan catatan di dalam PST.
- Buat, Simpan, dan Baca Catatan Outlook — bekerja dengan standalone
MapiNoteitem.