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:

  1. Yeni bir nesne örneği oluşturun MapiTask sınıf.
  2. Görev özelliği bilgilerini girin.
  3. 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