初投稿
自分用のメモを兼ねてQiitaを登録してみました。
テスト投稿として直近で作ってみたスクリプトを書いてみます。体裁はほかの人の参考に後々修正したいと思います。
スクリプトの内容:
「調整さん」という出欠表管理サイトに次の週の火曜日~月曜日分の調整さんを自動で生成してくれます。
作った背景:
「調整さん」は カレンダーをクリックすれば自動でテキストボックスに日付と開始時間が入力されていくのですが
開始時間が「19:00〜」で固定されており、毎週調整さんを生成している人がイラついていたため作ってみました。
#PSVersion 5.1.14409.1012 動作確認
$event_name = "event_name"
$set_schedule = $null
#来週の火曜の日付を取得してセット
$Date = get-date
$N = 2 #$N = 0:日 ? 6:土 火曜日は2
$next_week = ($Date).AddDays(7 - ($Date).DayOfWeek.value__ + $N) | % {get-date($_)}
$objIE = New-Object -ComObject InternetExplorer.Application
$objIE.Visible = $true #IEを表示
$objIE.navigate('https://chouseisan.com/') #IEでURLを開く
while($objIE.Busy) { Start-Sleep -milliseconds 100 }
$htmlDoc = $objIE.document #objIEで読み込まれているHTMLドキュメントをセット
$text_value = $htmlDoc.getElementById("name") #イベント窓をセット
$text_value.setattribute("value",$event_name) #イベント窓にキーワードを入力
for ($i = 1; $i -le 7; $i++) #再来週の火曜日までのスケジュールテキストを作成
{
if ($i -ge 2 -and $i -le 3)
{
$set_schedule += ($next_week).tostring("MM/dd (ddd) ") +"21:30~`r`n " #時刻窓に入れるテキスト作成(水木)
}else{
$set_schedule += ($next_week).tostring("MM/dd (ddd) ") +"21:00~`r`n " #時刻窓に入れるテキスト作成(水木以外)
}
$next_week = get-date($next_week).adddays(1)
}
$text_value = $htmlDoc.getElementById("kouho") #時刻窓をセット
$text_value.setattribute("value",$set_schedule) #時刻窓にキーワードを入力
$elForm = $htmlDoc.getElementById("createBtn") #ボタンクリックIDをセット
$elForm.click() #クリック