web-dev-qa-db-ja.com

既存のOutlookカレンダーにインポートする複数のVEVENTを含む.ICSファイルを作成する方法

複数の会議日があるイベントをユーザーがダウンロードできるようにする必要があります。これを行うために、ダウンロードするメモリストリームを作成しました。これにより、.icsファイルが生成されます。例えば:

 BEGIN:VCALENDAR 
 PRODID:-// Company // Product // EN 
 VERSION:2.0 
 METHOD:PUBLISH 
 BEGIN:VEVENT 
概要:イベントの件名
場所:イベントの場所
 UID:[email protected] 
説明:説明
 DTEND :20081101T200000Z 
 DTSTART:20081101T200000Z 
 PRIORITY:3 
 END:VEVENT 
 BEGIN:VEVENT 
 ... 
 END:VEVENT 
 END:VCALENDAR 

このファイルにVEVENTを1つだけ含めると、既存のOutlookカレンダーに保存されます。しかし、複数のVEVENTがある場合、それを新しいカレンダーとして開き、「その他のカレンダー」の下にファイルします。

(ファイルを使用せずに-Outlook内からインポート)カレンダーを開いたときに既存のカレンダーに自動的にインポートするように指定する方法はありますか?

更新:明確にするために、各VEVENTは単一の「予定」に関連しています。ただし、繰り返しパターンがある場合とない場合があります。

-マイク

15
mwilkes

これはうまくいかないと思います。 Outlookは、これらの「オープン」仕様のインポートに制限があります。複数の連絡先を持つvCardファイルをインポートしようとすると同様の問題が発生しました。最終的にファイルを分割し、Outlookでスクリプトを記述して、ディレクトリ内のすべてのファイルをインポートしました。

3
jwmiller5

これは、インターネットカレンダー(Googleなど)を使用して可能です。 Outlook 2007には(アカウント設定の下で)インターネットカレンダーをサブスクライブする機能があり、Outlook2003にはオープンソースのプラグインがあります。 「読み取り専用」のアクセス可能なフィードを作成できます。フォーマットは次のようなものです

BEGIN:VCALENDAR  
PRODID:-//XYZ Corp//My Product//EN  
VERSION:2.0  
CALSCALE:GREGORIAN  
METHOD:PUBLISH  
X-WR-CALNAME:My Calendar  
X-WR-TIMEZONE:(GMT-05:00) Eastern Time (US & Canada)  
BEGIN:VEVENT  
DTSTART:20061021T100000Z  
DTEND:20061021T130000Z  
DTSTAMP:20090211T175526Z  
UID:5f98dfd5-ac72-4ae1-b3c2-799a4e7c91f9  
CLASS:PUBLIC  
CREATED:20071104T183833Z  
DESCRIPTION: My description text.  
LAST-MODIFIED:20071104T183833Z  
LOCATION: 123 Anywhere Street\; Anyplace, NJ 12345\; US  
SEQUENCE:0  
STATUS:CONFIRMED  
SUMMARY: My summary text.  
TRANSP:OPAQUE  
END:VEVENT  
BEGIN:VEVENT  
DTSTART:20061101T170000Z  
DTEND:20061101T180000Z  
DTSTAMP:20090211T175526Z  
UID:6eaef015-eb90-4e94-8e6c-0003b928969a  
CLASS:PUBLIC  
CREATED:20071104T183833Z  
DESCRIPTION: My description for number 2.  
LAST-MODIFIED:20071104T183833Z  
LOCATION: 123 Anywhere Street\; Anyplace, NJ 12345\; US  
SEQUENCE:0  
STATUS:CONFIRMED  
SUMMARY: My summary for #2.  
TRANSP:OPAQUE  
END:VEVENT  
END:VCALENDAR
3

すべてのVEVENTに一意のUIDを使用していることを確認してください。すべてのVEVENTに同じUIDを使用すると、一意のUIDのみが処理されてカレンダーに追加されるため、説明している動作が正確に表示されます。

HTH。

2
James Bonner

これは可能であるはずです:/以下はグーグルで動作し、側近にうまくロードされます。 Outlookにはいくつかの問題があるようですが、引き続き調査します。

注-これは、file> importなどを使用すると、Outlookに正しく​​インポートされます。ダブルクリックするだけで、最初のイベントのみが読み込まれます。

BEGIN:VCALENDAR
PRODID:-//Google Inc//Google Calendar 70.9054//EN
VERSION:2.0
CALSCALE:GREGORIAN
METHOD:PUBLISH
X-WR-CALNAME:Insert something
X-WR-TIMEZONE:Insert something
X-WR-CALDESC:

BEGIN:VEVENT
DTSTART:20110909T180000Z
DTEND:20110909T200000Z
DTSTAMP:20110722T004312Z
UID:[email protected]
CREATED:20110721T105553Z
DESCRIPTION:
LAST-MODIFIED:20110721T105554Z
LOCATION:Insert something
SEQUENCE:0
STATUS:CONFIRMED
SUMMARY:Insert something
TRANSP:OPAQUE
BEGIN:VALARM
ACTION:DISPLAY
DESCRIPTION:This is an event reminder
TRIGGER:-P0DT0H10M0S
END:VALARM
END:VEVENT

BEGIN:VEVENT
DTSTART:20110909T083000Z
DTEND:20110909T103000Z
DTSTAMP:20110722T004312Z
UID:[email protected]
CREATED:20110721T105410Z
DESCRIPTION:
LAST-MODIFIED:20110721T111008Z
LOCATION:Auckland
SEQUENCE:1
STATUS:CONFIRMED
SUMMARY:Insert something
TRANSP:OPAQUE
BEGIN:VALARM
ACTION:DISPLAY
DESCRIPTION:Insert something
TRIGGER:-P0DT0H10M0S
END:VALARM
END:VEVENT

END:VCALENDAR
1
nzcoops

これはOutlookでの3つのFIFA2010の試合の例です。これがあなたが探しているものだと思います...

BEGIN:VCALENDAR

PRODID:-//Microsoft Corporation//Outlook 12.0 MIMEDIR//EN

VERSION:2.0

METHOD:PUBLISH

X-CALSTART:20100611T140000Z

X-CALEND:20100711T201500Z

X-WR-RELCALID:{0000002E-5A22-AA75-713B-5C3715764495}

X-WR-CALNAME: World Cup Football Complete Match Schedule 2010 South Africa

BEGIN:VEVENT

CATEGORIES:World Cup Football Complete Match Schedule 2010 South Africa

CLASS:PUBLIC

CREATED:20100608T231102Z

DESCRIPTION:Group A\nFollow MarkThisDate on Twitter

    markthisdate 

DTEND:20100611T154500Z

DTSTAMP:20100513T100200Z

DTSTART:20100611T140000Z

LAST-MODIFIED:20100608T231102Z

LOCATION:Johannesburg 

PRIORITY:5

SEQUENCE:0

SUMMARY:South Africa - Mexico

TRANSP:TRANSPARENT

UID:[email protected]

X-Microsoft-CDO-BUSYSTATUS:FREE

X-Microsoft-CDO-IMPORTANCE:1

END:VEVENT

BEGIN:VEVENT

CATEGORIES:World Cup Football Complete Match Schedule 2010 South Africa

CLASS:PUBLIC

CREATED:20100608T231102Z

DESCRIPTION:Group A\nFollow MarkThisDate on Twitter

    markthisdate 

DTEND:20100611T201500Z

DTSTAMP:20100513T100200Z

DTSTART:20100611T183000Z

LAST-MODIFIED:20100608T231102Z

LOCATION:Cape Town 

PRIORITY:5

SEQUENCE:0

SUMMARY:Uruguay - France

TRANSP:TRANSPARENT

UID:[email protected]

X-Microsoft-CDO-BUSYSTATUS:FREE

X-Microsoft-CDO-IMPORTANCE:1

END:VEVENT

BEGIN:VEVENT

CATEGORIES:World Cup Football Complete Match Schedule 2010 South Africa

CLASS:PUBLIC

CREATED:20100608T231102Z

DESCRIPTION:Group B\nFollow MarkThisDate on Twitter

    markthisdate 

DTEND:20100612T131500Z

DTSTAMP:20100513T100200Z

DTSTART:20100612T113000Z

LAST-MODIFIED:20100608T231102Z

LOCATION:Nelson Mandela Bay/Port Elizabeth 

PRIORITY:5

SEQUENCE:0

SUMMARY:Korea Republic - Greece

TRANSP:TRANSPARENT

UID:[email protected]

X-Microsoft-CDO-BUSYSTATUS:FREE

X-Microsoft-CDO-IMPORTANCE:1

END:VEVENT

END:VCALENDAR
1
Angel Alzamora

ファイルのVCALENDAR部分に「X-MS-OLK-FORCEINSPECTOROPEN:TRUE」があることを確認してください。これにより、複数のVEVENTを含むICSファイルをOutlookのデフォルトのカレンダーにインポートできます。新しいカレンダーは作成されません。

0
miked