LoginSignup
4
2

More than 3 years have passed since last update.

PowershellでExcelに出勤、退勤時間を記録する。

Last updated at Posted at 2021-01-18

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

4
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
2