勤怠登録をVBAで自動化してみた

記事
IT・テクノロジー
初めてブログ投稿いたします。

派遣先からの依頼でOAツール開発を依頼され、
VBAでエクセル操作を自動化することから始まり、
気づけばOutlook受信トレイからメールを取り出したりすることまで
いろんなことをVBAでやってました。

同じくいろんなオブジェクトが扱えるWSH(主にVBScript)も使って
いろんなものを自動化していました

その中である目標ができました。
それが・・・”WEB勤怠登録の自動化”

経緯として、
派遣会社から派遣されている自分は派遣先と派遣元の2重で勤怠管理となる。
これが煩わしくて仕方がないのですが、派遣されてる以上仕方ない・・・。

前提1: 派遣先勤怠はカードスキャンで完結

派遣先勤怠はカードスキャンだけで出退勤登録でき、
派遣先ポータルサイトでWEB勤怠テーブルを確認できる
※メンテナンスなどの依頼は別で必要です

前提2: 派遣元勤怠はWEBアプリで登録

派遣元勤怠は手作業で登録が必要です。
出勤および退勤の”時””分”はそれぞれプルダウンです。
WEB上なのでTABキーなどで選択してテンキーで入力もできるのですが、
それを知らないとひたすらマウスをカチカチカチカチ
それをひと月(約20日)分・・・もう気が狂う!

きっかけ: WEBスクレイピングがVBAからできるらしい?

とある書籍を見てIEオブジェクトというものがあり、
アクセス処理をVBAから操作できるらしいことを知る。

大変さ: ★★★★☆

手順として、
・ページにアクセス
・ログインパスワードを入力してログインボタンを押下、
・リンクをクリック
・読み込みが終わるまで待機
・どこのプルダウンにどんなIDが割り当てられてるか確認

と、いろんな関数を作っておく必要があり、
HTMLの構造をわかっていないと大変でした。
そして、こういったものをWEBデザインで作成されるとき必要になる

言語だけでなく、新たに理解しなければならなかったのが
ドキュメントオブジェクトモデル (DOM)
ウェブページとスクリプトやプログラミング言語を接続する
という仕組みでした。

JavaScriptはWSHで少し触ったことがあるものの、
ただのOAツールと、ページを扱うのは全然勝手が違いました。

近年フリーランスからのWEB開発がとても人気があり、
HTMLを学習する人も増えてるようです。

もしVBAに慣れているのであれば、
HTML理解の一助として試してみるのも悪くないのかも?

サービス数40万件のスキルマーケット、あなたにぴったりのサービスを探す