LoginSignup
0
1

More than 5 years have passed since last update.

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

Posted at

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

実はこの記事を書いている時点ではまだ確定的ではありません。(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に貼りつけたときはここをコメントアウト
0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1