Help us understand the problem. What is going on with this article?

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

More than 1 year has passed since last update.

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

実はこの記事を書いている時点ではまだ確定的ではありません。(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に貼りつけたときはここをコメントアウト
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした