Beheren van Outlook-agenda-items
Aspose.Email MapiCalendar klasse biedt methoden en attributen om diverse eigenschappen van een agenda‑item in te stellen. Deze sectie bevat codevoorbeelden voor:
- Agenda‑items maken en opslaan
- Agenda‑items opslaan als MSG‑bestanden
- Product‑ID’s voor MAPI‑agenda‑items opslaan naar ICS
- Totaal aantal gebeurtenissen ophalen
- Visuele herinneringen toevoegen
- Audiogeluidherinneringen toevoegen
- Bijlagen toevoegen/halen uit agendabestanden
- Status van ontvangers controleren in vergaderverzoeken
- MAPI‑kalender‑tijdzone maken vanuit standaard tijdzone
- Herinneringen instellen voor afspraken
- Afspraak EML naar MSG converteren met HTML-body
Agenda-items maken en opslaan
Het volgende codefragment laat zien hoe u een agenda‑item maakt en opslaat in ICS‑formaat.
Agenda‑items opslaan als MSG‑bestanden
Het volgende codefragment laat zien hoe u het agenda‑item opslaat als MSG.
Product‑ID’s voor MAPI‑agenda‑items opslaan naar ICS
De ProductIdentifier eigenschap van de MapiCalendarIcsSaveOptions klasse wordt gebruikt om een MAPI‑agenda‑item op te slaan in een iCalendar (ICS)-bestand, waarbij de oorspronkelijke datum‑ en tijdinformatie evenals een aangepaste product‑identifier behouden blijven. De eigenschap specificeert de identifier voor het product dat het iCalendar‑object heeft gemaakt.
Het volgende codevoorbeeld laat zien hoe u werkt met iCalendar (ICS)-gegevens binnen een MAPI‑agenda‑object:
var icsSaveOptions = new MapiCalendarIcsSaveOptions
{
KeepOriginalDateTimeStamp = true,
ProductIdentifier = "Foo Ltd"
};
mapiCalendar.Save("my.ics", icsSaveOptions);
Totaal aantal gebeurtenissen ophalen
De CalendarReader‑klasse maakt het eenvoudig om agenda‑gebeurtenissen te verwerken. De volgende eigenschappen en een methode stellen u in staat met meerdere gebeurtenissen te werken:
- CalendarReader.Count – De eigenschap Count van de CalendarReader‑klasse stelt u in staat het aantal Vevent‑componenten (gebeurtenissen) in de agenda op te vragen, waardoor het eenvoudiger wordt het totale aantal gebeurtenissen bij te houden.
- CalendarReader.IsMultiEvents – Deze eigenschap bepaalt of de agenda meerdere gebeurtenissen bevat. Het levert een boolean‑waarde die aangeeft of de agenda meer dan één gebeurtenis heeft, wat helpt bij het identificeren van agenda’s met één of meerdere gebeurtenissen.
- CalendarReader.Method – De eigenschap Method verkrijgt het iCalendar‑methodetype dat aan het agenda‑object is gekoppeld. Het retourneert het methodetype, zoals "REQUEST", "PUBLISH" of "CANCEL", en biedt waardevolle inzichten in het doel van de agenda.
- CalendarReader.Version – Haalt de versie van iCalendar op.
- CalendarReader.LoadAsMultiple() Deze methode maakt het mogelijk een lijst van gebeurtenissen te laden uit een agenda die meerdere gebeurtenissen bevat. Het retourneert een lijst van Appointment‑objecten, waardoor elk afzonderlijk evenement eenvoudig toegankelijk en verwerkbaar is.
Het volgende codevoorbeeld demonstreert hoe u deze mogelijkheden in uw project kunt implementeren:
var reader = new CalendarReader(fileName);
Console.WriteLine("Calendar contains " + reader.Count + " events");
Console.WriteLine("The Version of the calendar is " + reader.Version);
Console.WriteLine("The Method of the calendar is " + reader.Method);
Console.WriteLine("Is calendar contains contains multiple events? - " + reader.IsMultiEvents);
List<Appointment> appointments = reader.LoadAsMultiple();
Visuele herinneringen toevoegen
Het volgende codefragment toont hoe u een visuele herinnering aan een agenda toevoegt.
Audiogeluidherinneringen toevoegen
Het volgende codefragment laat zien hoe u een audioherinnering aan een agenda toevoegt.
Bijlagen toevoegen/halen uit agendabestanden
Het volgende codefragment laat zien hoe u bijlagen toevoegt/haalt uit agendabestanden.
Status van ontvangers controleren in vergaderverzoeken
Het volgende codefragment toont hoe u de status van ontvangers van een vergaderverzoek kunt weergeven.
MAPI‑agenda‑tijdzone maken vanuit standaard tijdzone
Het volgende codefragment toont hoe u een MapiCalendarTimeZone maakt vanuit een standaard tijdzone.
Herinneringen instellen voor afspraken
Een herinnering kan worden toegevoegd wanneer een afspraak wordt gemaakt. Deze alarmen kunnen worden geactiveerd op basis van verschillende criteria, zoals n minuten vóór de start van de planning, herhaal n keer met n intervallen. Verschillende tags kunnen worden gebruikt om deze triggers te maken in het script dat is ingesloten tussen BEGIN:VALARM en END:VALARM binnen een afspraak. Er zijn verschillende varianten waarin de herinnering kan worden ingesteld op een afspraak.
Tags toevoegen om herinneringen in te stellen
De volgende codefragment laat zien hoe u een herinnering instelt door tags toe te voegen.
Afspraak EML naar MSG converteren met HTML-body
Sinds versie 19.3 biedt Aspose.Email de mogelijkheid om Appointment EML naar MSG te converteren terwijl de HTML-body van de afspraak behouden blijft. Aspose.Email biedt een MapiConversionOptions.ForcedRtfBodyForAppointment eigenschap die een standaardwaarde van true heeft. Wanneer de waarde van MapiConversionOptions.ForcedRtfBodyForAppointment is ingesteld op true, wordt de afspraakbody geconverteerd naar RTF-indeling. Om het afspraakbodyformaat in HTML-indeling te behouden, stel de waarde van MapiConversionOptions.ForcedRtfBodyForAppointment naar false.
Het volgende voorbeeld toont het gebruik van MapiConversionOptions.ForcedRtfBodyForAppointment eigenschap om het afspraakbodyformaat in HTML-indeling te behouden.
De status van MAPI‑agenda‑items handmatig instellen
Stel de status van een MAPI‑agendaobject expliciet in, waardoor het standaardgedrag wordt overschreven. Dit biedt betere controle over de status van agenda‑gebeurtenissen, vooral bij het afhandelen van ontvangen vergaderverzoeken. Standaard is, wanneer een vergadering wordt aangemaakt, de status MapiCalendarState.Meeting. Wanneer het in de inbox van een ontvanger wordt ontvangen, verandert het automatisch naar MapiCalendarState.Received, en de berichtklasse wordt bijgewerkt naar “IPM.Schedule.Meeting.Request”. Met behulp van SetStateForced stelt handmatig in dat de status Received is, wat nuttig kan zijn om organisatoreninformatie te behouden bij het opslaan van de agenda als een MSG‑bestand. Dit kan echter het correct doorsturen of opnieuw verzenden van de vergadering verhinderen.
Het onderstaande codevoorbeeld toont hoe u een MapiCalendar object, wijs een organisator toe en stel de status expliciet in op beide Meeting en Received met behulp van SetStateForced. Het slaat vervolgens het agenda‑item op als een .msg‑bestand.
MapiCalendar appointment = new MapiCalendar(
"LAKE ARGYLE WA 6743",
"Appointment",
"This is a very important meeting :)",
new DateTime(2024, 5, 10, 12, 30, 0, DateTimeKind.Utc),
new DateTime(2024, 5, 10, 13, 30, 0, DateTimeKind.Utc));
appointment.Organizer = new MapiElectronicAddress
{
EmailAddress = "test@aaa.com",
DisplayName = "test display Name"
};
appointment.SetStateForced(MapiCalendarState.Meeting | MapiCalendarState.Received);
appointment.Save("appointment.msg", AppointmentSaveFormat.Msg);