※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日から再び打刻していけるようにしたい。
また、前月分の出勤時刻の合計を別シートへ転記出来れば…。