Google Calendarの祝日データフィードからテキスト生成
2008/04/21
休日のお知らせの生成や営業日の自動算出など、祝日のデータが必要になることはよくありますが、カレンダーから手入力というのも何ですので、Googleカレンダーの祝日データフィードから祝日名と日付のみ抽出してテキストにするVBScriptを作ってみました。Dimの部分を修正すればVBAにも応用できます。
なお、Googleカレンダーの祝日データフィードに関してはこちらの記事を参考にさせていただきました。
'Google Calendarから祝日データを取得
Option Explicit
'開始日
Const START_DATE="2008-01-01"
'終了日
Const END_DATE = "2008-12-31"
'保存ファイル名
Const OUTPUTFILE = "holiday.txt"
Dim xmlUrl, xmlDoc, i, entrys, entry, objFS, objText
xmlUrl="http://www.google.com/calendar/feeds/" &_
"japanese@holiday.calendar.google.com/public/" &_
"full-noattendees?start-min=" & START_DATE & "&start-max=" & END_DATE
Set xmlDoc = CreateObject("Microsoft.XMLDOM")
xmlDoc.async = False
If xmlDoc.Load(xmlUrl) = False then
Msgbox("フィードの読み込みに失敗しました")
Else
Set objFS = CreateObject("Scripting.FileSystemObject")
Set objText = objFS.CreateTextFile(OUTPUTFILE)
Set entrys = xmlDoc.selectNodes("//feed/entry")
For Each entry In entrys
objText.Write(Replace(entry.selectSingleNode("gd:when").getAttribute("startTime"), "-", "/"))
objText.Write(vbTab & entry.selectSingleNode("title").text & VbCr)
Next
objText.Close
End If