Outlook カレンダー アイテムの操作

MapiCalendar の操作

Aspose.Email の MapiCalendar クラスは、カレンダー項目のさまざまなプロパティを設定するためのメソッドと属性を提供します。

カレンダー項目の作成と保存

以下のコードスニペットは、ICS 形式でカレンダー アイテムを作成および保存する方法を示します。

import aspose.email as ae
from datetime import datetime

data_dir = "path/to/data/directory"

# Create the appointment
calendar = ae.mapi.MapiCalendar(
    "LAKE ARGYLE WA 6743",
    "Appointment",
    "This is a very important meeting :)",
    datetime(2012, 4, 1),
    datetime(2012, 5, 1))

calendar.save(data_dir + "CalendarItem_out.ics", ae.calendar.AppointmentSaveFormat.ICS)

カレンダー項目を MSG として保存

以下のコードスニペットは、カレンダー アイテムを MSG として保存する方法を示します。

MapiCalendar を ICS に保存する際のプロダクト ID の設定

Aspose.Email ライブラリを使用すると、MapiCalendar(カレンダー項目)を特定のオプションを指定してICS(iCalendar)ファイルに保存できます。ics_save_options.keep_original_date_time_stamp および ics_save_options.product_identifier プロパティを使用すると、カレンダー項目に関連付けられた元の日時スタンプを保持し、ICS ファイルのプロダクト識別子を例えば "Foo Ltd" のように設定できます。プロダクト識別子は、ICS ファイルを生成したソフトウェアやサービスを識別するフィールドです。

以下のコードサンプルは、MapiCalendar を ICS に保存する際にプロダクト ID を設定する方法を示しています:

import aspose.email as ae

ics_save_options = ae.mapi.MapiCalendarIcsSaveOptions()
ics_save_options.keep_original_date_time_stamp = True
ics_save_options.product_identifier = "Foo Ltd"

mapiCalendar.save("my.ics", ics_save_options)

イベント総数の取得

機能は CalendarReader このクラスは、指定されたファイルからカレンダーデータを読み取ることができます。CalendarReader オブジェクトを作成することで、イベント総数、カレンダーのバージョン、使用されたメソッド、複数のイベントが含まれるかどうかなどの重要情報を抽出できます。以下のコードスニペットは、カレンダーデータの操作方法と、カレンダーから予約を複数のイベントのリストとしてロードする方法を示しています。

import aspose.email as ae

reader = ae.calendar.CalendarReader(fileName)
print(f"Calendar contains {reader.count} events")
print(f"The Version of the calendar is {reader.version}")
print(f"The Method of the calendar is {reader.method}")
print(f"Is calendar contains contains multiple events? - {reader.is_multi_events}")
appointments = reader.load_as_multiple()

カレンダーに表示リマインダーを追加

以下のコードスニペットは、カレンダーに表示リマインダーを追加する方法を示します。

カレンダーに音声リマインダーを追加

次のコードスニペットは、カレンダーに音声リマインダーを追加する方法を示しています。

カレンダーファイルから添付ファイルの追加/取得

Aspose.Email Calendar("ae.calendar")モジュールは、添付情報の追加および取得機能も提供します。

  • 予約に添付ファイルを含めるには、ファイルパスを指定して "Attachment" オブジェクトを作成します。この添付ファイルは予約の添付リストに追加されます。その後、iCalendar 形式で指定されたファイルパスに予約を保存します。 保存 メソッドと適切なファイル形式。

  • 予約から添付ファイルを取得するには、まず保存されたファイルを使用してロードします。 load このメソッドでは、"appointment2" に存在する添付ファイルの数が表示され、添付ファイルを反復処理してその名前が出力されます。

以下のコードスニペットは、添付ファイル付きの予定を作成し、保存し、"ae.calendar" モジュールを使用して添付情報を取得する方法を示しています。カレンダーアプリケーションでの予定と添付ファイルの操作機能と能力を強調しています。

import aspose.email as ae
import datetime as dt

# Add an attachment to an appointment
attendees = ae.MailAddressCollection()
attendees.append(ae.MailAddress("attendee@domain.com", "Recipient 1"))

appointment = ae.calendar.Appointment("Room 112", dt.datetime(2023, 5, 27), dt.date(2023, 5, 28),  ae.MailAddress("organizer@domain.com"), attendees)

attachment = ae.Attachment("D:\\Aspose\\Files\\Attachment.txt")
appointment.attachments.append(attachment)

appointment.save("D:\\Aspose\\Files\\appWithAttachments_out.ics", ae.calendar.AppointmentSaveFormat.ICS)

# Retrieve attachments from an appointment 
appointment2 = ae.calendar.Appointment.load("D:\\Aspose\\Files\\appWithAttachments_out.ics")
print(appointment2.attachments.length)
for att in appointment2.attachments:
    print(att.name)

会議リクエストからの受信者ステータス

以下のコードスニペットは、会議招集から受信者のステータスを取得する方法を示しています。

EML 予約を MSG に変換し、本文を HTML 形式で保持

Aspose.Email を使用すると、EML の予約を MSG に変換し、HTML 本文を保持できます。"forced_rtf_body_for_appointment" プロパティは MapiConversionOptions クラスは予定本文のタイプを操作するために使用されます。True に設定すると、本文はデフォルトで RTF 形式に変換されます。HTML 形式の本文を保持するには、False に設定する必要があります。以下のコードサンプルは、EML から MSG に変換する際に予定の HTML 本文を保持する方法を示しています:

import aspose.email as ae

eml = ae.MailMessage.load("appointment.eml")

conversionOptions = ae.mapi.MapiConversionOptions()
conversionOptions.format = ae.mapi.OutlookMessageFormat.UNICODE
# default value for ForcedRtfBodyForAppointment is true
conversionOptions.forced_rtf_body_for_appointment = False

msg = ae.mapi.MapiMessage.from_mail_message(eml, conversionOptions)

print(f"Body Type: {msg.body_type}")

msg.save("appointment.msg")