Outlook Görevlerini Oluştur, Kaydet ve Oku
Bu makale bağımsız Outlook MapiTask MSG olarak kaydedilen öğeler. PST içinde görevleri depolamak ve okumak için bakınız PST Dosyalarında Görevler, Günlükler ve Notları Yönetme.
Outlook Görevleri Oluştur
Aspose.Email for .NET, Outlook görevleri oluşturmanıza ve MSG formatında kaydetmenize olanak tanır. MapiTask sınıf, şunlar gibi birçok özellik sağlar PercentComplete, EstimatedEffort, ActualEffort, History, LastUpdate, ve diğerleri, bir Outlook görevi için gereken bilgileri uyarlamak ve ayarlamak için. Bu makale, bir … oluşturma, kaydetme ve okuma yöntemlerini gösterir MapiTask diskten. Bir görevi diske oluşturup kaydetmek için:
- Yeni bir nesne örneği oluşturun MapiTask sınıf.
- Görev özelliği bilgilerini girin.
- Görevi MSG formatında diske kaydedin.
Aşağıdaki kod parçacığı, Görevleri nasıl oluşturacağınızı, kaydedeceğinizi ve okuyacağınızı gösterir.
// 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);
MAPI Görevlerini Oku
MSG formatında kaydedilmiş görevler şuraya yüklenebilir: MapiMessage ve ardından şuna dönüştürüldü MapiTask konu ve durum gibi belirli özelliklerine erişimle. Aşağıdaki kod örneği, kaydedilmiş MSG dosyalarından görev detaylarını okuma ve manipulasyonunu gösterir:
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);
VToDo Görevlerini Oku
iCalendar formatında VToDo etkinlikleri olarak dışa aktarılan Outlook görevleri şununla yüklenebilir: MapiTask aşağıdaki kod örneğinde gösterildiği gibi class. Aşağıdaki kod kesiti, bir VToDo Görevi nasıl okunacağını gösterir.
MapiTask task = MapiTask.FromVTodo(dataDir + "VToDoTask.ics");
task.Save(dataDir + "VToDo_out.msg", TaskSaveFormat.Msg);
MAPI Görevlerine Hatırlatma Bilgisi Ekle
Microsoft Outlook’a benzer şekilde, Aspose.Email bir hatırlatma bilgisini ekleyebilir MapiTask. Aşağıdaki kod snippet’i, bir hatırlatma bilgisini eklemenin yolunu gösterir 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);
MAPI Görevlerine Eklenti Ekle
Aşağıdaki kod snippet’i, bir ek dosya eklemenin yolunu gösterir 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);
MAPI Görevlerine Tekrarlama Ekle
Aspose.Email, tekrarlayan bir görev oluşturmanıza izin verir; tekrarlama günlük, haftalık, aylık veya yıllık olabilir. Aşağıdaki kod kesiti, farklı tekrarlama türleriyle bir görev oluşturmanın nasıl yapılacağını gösterir.
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);
Görevleri MHT’ye Dönüştür
Aspose.Email üretebilir MailMessage bir dönüşüm sırasında görülen çıktı gibi MapiTask MHT’ye.
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);
Görev Alanlarını Koruarak MSG’den HTML’ye Dönüştürme
Bu HtmlFormatOptions.RenderTaskFields sıralama, görev alanlarının kaydedilen HTML dosyasının başlığında bulunmasını sağlayabilirsiniz. Aşağıdaki kod kesiti, bir html dosyası kaydederken görev alanlarını başlıkta korumanın nasıl yapılacağını gösterir:
var msg = MapiMessage.Load("task.msg");
HtmlSaveOptions opt = SaveOptions.DefaultHtml;
opt.HtmlFormatOptions = HtmlFormatOptions.WriteHeader | HtmlFormatOptions.RenderTaskFields;
msg.Save("task.html", opt);
Ayrıca Bakınız
- PST Dosyalarında Görevler, Günlükler ve Notları Yönetme — PST içinde görevleri, günlükleri ve notları depolayın ve okuyun.
- Outlook Notlarını Oluştur, Kaydet ve Oku — bağımsız
MapiNoteöğeler.