VBScript
VBA
Outlook
l

[OutLook][VBA][VBS]2019年の追加予定祝日をOutlookに加えるVBAマクロ


とはいうものの稼働はまだ

実はこの記事を書いている時点ではまだ確定的ではありません。(2018/11/24現在)


VBSに張り付けたときはここをコメントアウトについて

俗にコメントアウトとは、行頭にアポストロフをつけて半角スペースを入れることを言います。応用としてここからコメントアウトもあります

Sub HolidaySetting2019Japan() 'VBSに貼りつけたときはここをコメントアウト

をコメントアウトするときは

'Sub HolidaySetting2019Japan() 'VBSに貼りつけたときはここをコメントアウト

または

REM Sub HolidaySetting2019Japan() 'VBSに貼りつけたときはここをコメントアウト

今回は複雑になるのでスクリプト(コード)はそのままとしましたが、

Dim MyITEM 'As Outlook.AppointmentItem 

は本当はVBAに貼り付けるときは

Dim MyITEM As Outlook.AppointmentItem 

の方がいいわけですが、VBSとVBAに共通なコードとしてコメントアウトの数を減らしたいので、ここはコメントアウトのままにしました。これでも何をこの変数に入れたいのか、型は決まらなくても人間にはわかります。


Sub HolidaySetting2019Japan() 'VBSに貼りつけたときはここをコメントアウト
Dim olApp: Set olApp = CreateObject("Outlook.Application")
Dim NS: Set NS = olApp.GetNamespace("MAPI")
Dim oFol: Set oFol = NS.GetDefaultFolder(9): oFol.Display 'Defaultのアカウントのカレンダーを表示(複数のアカウントを使用している場合、標準のアカウントのみに作成されます。アカウントが一つでもオンラインとオフラインがある場合、標準にしている予定表に作成されます)
Dim MyITEM 'As Outlook.AppointmentItem
Dim oPattern 'As Outlook.RecurrencePattern
Set MyITEM = olApp.CreateItem(1)
MyITEM.Display
olApp.ActiveWindow.WindowState = 2
MyITEM.Subject = "皇太子殿下即位・改元"
With MyITEM
.AllDayEvent = True
.BusyStatus = 1 'olTentative
.Location = "Japan(日本)"
.Start = #5/1/2019#
.End = #5/1/2019#
.Save
.Close 0
End With
Set MyITEM = olApp.CreateItem(1)
MyITEM.Display
olApp.ActiveWindow.WindowState = 2
MyITEM.Subject = "皇太子殿下即位・改元(仮の名称)"
With MyITEM
.AllDayEvent = True
.BusyStatus = 1 'olTentative
.Location = "Japan(日本)"
.Start = #10/22/2019#
.End = #10/22/2019#
.Save
.Close 0
End With
Set MyITEM = olApp.CreateItem(1)
MyITEM.Display
olApp.ActiveWindow.WindowState = 2
MyITEM.Subject = "即位礼正殿の儀の日(仮の名称)"
With MyITEM
.AllDayEvent = True
.BusyStatus = 1 'olTentative
.Location = "Japan(日本)"
.Start = #4/30/2019#
.End = #4/30/2019#
.Body = "2019年5月1日が皇太子殿下即位・改元のための祝日となり4月29日と5月1日で挟まれた30日は国民の休日となる"
.Save
.Close 0
End With
Set MyITEM = olApp.CreateItem(1)
MyITEM.Display
olApp.ActiveWindow.WindowState = 2
MyITEM.Subject = "国民の休日"
With MyITEM
.AllDayEvent = True
.BusyStatus = 1 'olTentative
.Location = "Japan(日本)"
.Start = #5/2/2019#
.End = #5/2/2019#
.Body = "2019年5月1日が皇太子殿下即位・改元のための祝日となり5月3日と5月1日で挟まれた2日は国民の休日となる"
.Save
.Close 0
End With
End Sub 'VBSに貼りつけたときはここをコメントアウト