OutlookのカレンダーにExcelの日付を取得する(Microsoft Excel)
ケリーは、地元のイエローページに広告を掲載するための終了日として使用される日付の表を含むワークシートを持っています。彼女はこれらの日付をOutlookにインポートしたいと考えていますhttp://calendarcorner.net/[Calendar]
72時間のリマインダーがありますが、一部の日付は数字に変わり続けます。
ケリーは、Excelの日付を必要に応じてOutlookに取り込む方法を考えています。
Outlookの操作は、マクロ内のExcelデータにアクセスする方法だけでなく、Outlookデータを操作する方法も理解する必要があるため、一般的なExcelマクロよりも少し「高レベル」です。ワークシートからOutlookの予定に転送する必要のあるデータを正確に知らずに、短いシナリオを調べてみましょう。
一連の行を含むワークシートがあり、各行が作成する単一の予定を表していると仮定します。各予定には、左から右に次の7つの列の情報が含まれています。
件名。*イベント/予定を説明するテキスト(「イエローページリマインダー」など)
場所。*会議室や電話会議番号など、イベントの場所を説明するテキスト(これはオプションです)
開始日時。*標準のExcel日付形式を使用して、イベントを開始する日時を入力します(任意の方法で表示できます)
デュレーション。アポイントメントのビジーステータスの分数を表す整数。時間を空き(0)、暫定(1)、ビジー(2)、または不在(3)として表示するかどうかを示すオプションの値を表す整数
リマインダー時間。*リマインダーがポップアップする予定の前の分数を表す整数(3日間の分数である4320のように)
本文。*予定の本文に配置する可能性のある詳細を説明するテキスト
このデータを配置したら、マクロを使用してすべての行をループできます(最初の行に見出しがあると仮定して、2番目の行から開始します)
各行の予定を作成します。
Sub AddAppointments() ' Create the Outlook session Set myOutlook = CreateObject("Outlook.Application") ' Start at row 2 r = 2 Do Until Trim(Cells(r, 1).Value) = "" ' Create the AppointmentItem Set myApt = myOutlook.createitem(1) ' Set the appointment properties myApt.Subject = Cells(r, 1).Value myApt.Location = Cells(r, 2).Value myApt.Start = Cells(r, 3).Value myApt.Duration = Cells(r, 4).Value ' If Busy Status is not specified, default to 2 (Busy) If Trim(Cells(r, 5).Value) = "" Then myApt.BusyStatus = 2 Else myApt.BusyStatus = Cells(r, 5).Value End If If Cells(r, 6).Value > 0 Then myApt.ReminderSet = True myApt.ReminderMinutesBeforeStart = Cells(r, 6).Value Else myApt.ReminderSet = False End If myApt.Body = Cells(r, 7).Value myApt.Save r = r + 1 Loop End Sub
[件名]列が空になるまで、マクロは行をループし続けます。
注:
このページ(または_ExcelTips_サイトの他のページ)で説明されているマクロの使用方法を知りたい場合は、役立つ情報を含む特別なページを用意しました。
link:/ excelribbon-ExcelTipsMacros [ここをクリックして、新しいブラウザタブでその特別なページを開きます]
。
_ExcelTips_は、費用効果の高いMicrosoftExcelトレーニングのソースです。
このヒント(7349)は、Microsoft Excel 97、2000、2002、および2003に適用されます。