※2021/1/18 現在改良中。
#はじめに
客先常駐SEあるある、出勤の打刻は別でするけど作業工数は別シートで計算して提出する。
出勤時刻を計算するのが面倒&わざわざファイルを開いて記入するのも面倒だったのでPowershellで楽したいと思い作成。
#◆参考記事
・PowerShell で Excel をどうのこうのすることに興味を持ってくれると嬉しい
https://qiita.com/miyamiya/items/161372111b68bad0744a
・Powershellで日付や時刻を取得するよ! | Get-Time
https://bgt-48.blogspot.com/2018/02/powershell-get-time.html
作成の際に参考にした記事です。全力で感謝。
#◆環境
OS:Windows10 Pro 1909
Powershell:5.1
#◆状況
とりあえずExcelファイルを新規作成して、打刻するだけの状態。
色々間違いもあると思うので、少しずつ追記修正を加えて完成させたいところ。
#Excel起動
$excel = New-Object -ComObject Excel.Application
#Excelを表示
$excel.Visible = $true
#ファイルを追加
$book = $excel.Workbooks.Add()
#シート数を表示
$book.Sheets.Count
#ファイルを追加
$book.Sheets(1).Name
$book.ActiveSheet.Name
シート名を変更
$book.Sheets(1).Name = "hoge"
$sheet = $book.Sheets("hoge")
#シート名を表示
$sheet.Name
#書き込みシートを指定するため、日付を変数に設定
$day = (Get-Date).day
#出勤書き込み
$sheet.Cells.Item($day+3, 3) = 出
#◆理想
出勤用ファイルを開いて打刻。
月が変わったら新しいシートを作成して1日から再び打刻していけるようにしたい。
また、前月分の出勤時刻の合計を別シートへ転記出来れば…。