なずブログ

インフラSE、Java開発、リモートワークエンジニアな人のメモ帳

なずなとVBAとExcelと~スクレイピング習得後のその後~

f:id:nazuna_0124:20190812221132p:plain:w200 f:id:nazuna_0124:20190812221137p:plain:w200

ツイッター用に2つ並べてみるテストーっと。

違和感しかないですね!


今までの書き方に飽きました

たぶん、向いてないと思うんのです。

というわけで、あとは適当に。

◆利用者数の増大

15人 → 50人 → 200人 → 1000人


1000人が働いている場所だったのが大きいです。

要するに全員使うようになったのですよ~



◆わかりやすい影響

・月300時間削減の自動化

・月150時間削減の自動化

・他ベンダーより50%短縮の処理支援

・月200件のミスを0件へ


このあたりです。

今でもほとんど変更なしで使われているのだそーですよ!

これ全部で1年くらいの話です。


◆貰って嬉しかったもの

・現場のリーダーからの感謝メール

・プロパーさんからの社内表彰

・プロパーさんからの「逸材だねぇ。。。」って漏れた言葉


やっぱりリアクションがあるって嬉しいものです♪

楽しかったからこそ、うっかり安月給で長いこと働いてしまったわけですが←


次回は転職決意と職業訓練通うまで!

なずなとVBAとExcelと~Webスクレイピングという名のIE操作編~

f:id:nazuna_0124:20170406201732p:plain

のりわるっ!

っていうときありますよねー。

気にせずほっとくタイプです。


おつかれさまです。なずなです。



振り返りの日記帳4つ目くらい?です。


スクレイピングという言葉を見つけた

わーかーるーかーーーー!!

いろいろ忙しいのが落ち着いたある暇な時間。

何気なしにhtml(ブラウザ)の情報ってプログラムから読み取れないんだろうか?

いや、読み取れないわけないから、方法自体は簡単かとおもってぐぐったんですよ。

割とあっさり見つかったんです。

いやはや、このときは心臓バクバクしながらプログラム書いてました。

これさえ!これさえできるなら!!あんあことやこんなことやいっぱいできるって。

あっさり行くとは思いませんでした。。。

今でこそぐぐるといっぱい情報見つかります。

当時はそんなにたくさんなかった気がします。

いろんなとこから組み合わせて情報を集めてました。


社内Webシステムから情報引っ張るのは大変だった

昔のふる~い作りだったんですね。

いわゆるTableでデザインを組んでいた時代のものです。

ページの情報はひっぱれるものの、特定のものが抜き出せない。

ほんとーに苦労しました。150時間くらいかかったんじゃないでしょうか。

見つかった後はあっさり。私の部下たちは30分くらいでものにしてたので、

本当に悲しかったです。


IE操作という概念

操作なので自動化に直結するのですよね。

1件なら2分ですむ登録も1日200件となったら大変なわけです。

こういうのを自動化していきました。


また、Webシステムからの情報の抽出が手動でになっていて

マクロかされていた部分。

そこをダイレクトに取得できるようになったのでさらにスピードアップ!

いや~。このときは本当に楽しかったです。

なずなとVBAとExcelと~システムという概念の確立編~

f:id:nazuna_0124:20180609224553p:plain

コンビニスイーツが最近のお気に入りです。

白玉ぜんざいうまー


おつかれさまです。なずなです。


今回はAccessを覚えてからのお話。

実は一番よく覚えてない部分です

理由は単純に忙しすぎたから。



のちのCRUDシステム

CRUDって言葉を知ってたら、もう少し楽だったかなーって思います。

Webでも基本中の基本ですよね。データを登録して参照して削除する。

一覧で見ることができて、詳細画面に飛べる。並べ替えも可能。

わたしのお仕事でもそれがあってAccessが使われてたわけです。

これが使い悪すぎるから修正からはじめたのはよいのですが、

Accessの勉強だけで100時間はかかりました。まじです。

本も10冊くらい買ったと思います。

今なら最初からPHPの勉強でもすることをお勧めします。

技術や感覚的には全く同じですから。


テキスト編集

部署をお仕事の連携方法っていろいろあるとおもいます。

メールだったりWebシステムだったり、Excelの依頼票だったり。

わたしのところは文字列を規定のフォーマットで作って

Webシステムに登録するというものでした。

最初はみんなぽちぽちコピペしてたのです。

それをフォームから自動で読み取って文字列を生成する。

今考えればほんっとになんてことない処理です。

しかし!ここでようやくループと連想配列を身に着けました。

そして、効率アップも非常に大きかったです。

一気に半分とかザラでしたからね。

VBAだけで1日の半分以上使っていた時期でもあります。

そしてこのくらいは基礎だけでできちゃうのですよね。

アイディアって大事です。


ほかのオフィスソフトとの連携

お決まりのパターンです。わたしが実装したのはOutlookのメール作成と

Wordの差し込み(データを自動反映する)印刷の部分でした。

クラスやオブジェクトの感覚がまだ掴めてなかったので地味~~~~に苦労しました。

人に教えるときはなるべく早めにオブジェクトの使い方の感覚を教える理由です。

コード自体はコピペでだいじょうぶなのに、難しいものです。

たっぷりと影響を受けた本を紹介するという怖さ

f:id:nazuna_0124:20190807223453p:plain:w250

コンビニに座って食べるところができたのって

いつ頃からなんでしょう?


15時のおやつは近くのセブンがお気に入りです。


おつかれさまです。なずなです。



今回はVBA講座に先立って有料noteに挑戦。


note.mu



文字数の割にとっても高額。


そりゃもう死ぬほど恥ずかしいからですよ



このほんから、みっちりと影響受けて

ねちねち仮説と検証繰り返したなんて

とてもカッコ悪いじゃないですか。。。



そういう本ってみんなにもある?


容赦なくぽちるので、みんなもそういうの紹介してみて!

なずなとVBAとExcelと~Accessに出会っちゃったの編~

f:id:nazuna_0124:20190805191310p:plain:w300

画像はVカツさんから転用。

いい加減にアイコンを統一しましょう。

こっちの方がいくらかオリジナリティあっていいよね!?


おつかれさまです。なずなです。


業務移管と新システムの恐怖

修理受付部署にいたって話をしたのが前回までです。

ここで他ベンダーの仕事もうちで請け負うことになりました。

同時にそれまで紙、Accessで実施していた業務をWebシステムに移行することに。

当時はまだ開発の詳しい進み方がわかりません。

このときはサブリーダーとして本当に仕事がしんどい時期でした。

別に飲食店でお客さんがひっきりなしというわけでもないのに、

9:00~18:00から5分の休憩もお昼も取れないなんてことがありましたもん。

VBAや開発になれた今でも別の方法でなんとかしようとするのは

このときの経験が活きています。

そして、このあたりから本職のエンジニアってなにやってるんだろうと

不信感が湧いてくる時期です。

なってしまえば仕方ないよねってなるのですけれど。


業務用Accessさんがやってきた

Webシステムに以降するはずが、一部導入しきれなかったらしいのです。

そんなわけで、それまで使っていたシステムと称してAccessファイルがきました。

情報を登録してCSVで吐き出すなんてことのないものです。

こ、これがまた使いにくいというより、修正ができておらず

出力したCSVを手動でなおす始末でした。

早速中身を見てみます。

・フォームとの繋がりがわけわからん

・そもそもRDBSって???

SQLってなんぞや

ここまで独学でやってきた悲しさ。

非常に一般的な知識がなかったのでとんでもなく苦労しました。

ここではじめてシステムって概念になったんですね!

Accessのフォームは使いやすい

ほんとにこのときのコードを調べるのに苦労しました。

300時間ですんだかあやしいです。

3ヶ月くらいでなれ始めた頃ふと気が付きます。

このフォームってすごい使いやすいのでは??

そうやってAccessの機能自体をしらべはじめたのですよ。

そしたら、機能を調べることでどうしたかったがわかるようになり、

いろんなところで世界が広がりました!

Accessってすごい!SQLってすごい!!

プログラムを学ぶならDBは必須に近いです。

わたしの研修でも早い段階で教えてました。

独りきりでずっとやってた当時の私。。。ほんとがんば!

なずなとVBAとExcelと~入力フォームに無駄な苦労した編~

f:id:nazuna_0124:20170406201732p:plain

Excelフォームは使わない方がいいよ!!!


200時間は使ったあげくに、何も残ってないですもん。


おつかれさまです。なずなです。

今回は昨日の続きです。

shokuren.hateblo.jp



機械の管理システムを作ることになった

オペレーターとしても普通に仕事してました。

スマートフォンが流行りはじめのころですね。

説明するために当時たくさんと機械がおいてありました。

これの持っていく、戻すの管理システムをいつもどおり

自分から提案して作ることになったのです。

この時点で使用人数は60人くらい。なかなかのもんです。

にもかかわらず技術はたいしてあがっていません。

for eachループはわからないままです。

このとき作りたかったのはどの番号の機階を持って行ったか

入力しやすく、見た目綺麗に作るのが目標でした。

やった方法としてはExcelフォームに死ぬほどいっぱいボタンつくりました!!

た、たいへんでした。。。今だったらもっと違う方法があったでしょう。

共有ブックを使ってあーだこーだやっていたのでなおさらしんどかったです。

しんどすぎて、コードはいまいち覚えてないですもん。

100個くらいコピペしまくったことだけは覚えています。

この問題は後にAccessHTAで使うことで解決しました。


Excelだけで動的なGUI

スマートフォン需要がちょっとだけひと段落したころ、私は違うチームに異動になります。

内容自体は修理受付でした。ここでの受付の条件分岐がものすごく複雑だったのです。

このころになると

「なんかつくってみていいですか?」

くらいで通るようになっていました。

このあたりで大きなものはしゃべるときの条件分岐のフローチャート的なもの。

修理付けつけのための情報入力と最後にテキストで出力するジェネレーター。

この2つです。

どっちも条件によって画面を変更したかったのですね。

やっぱりこれにもものすごい時間かかりました。300時間とか使ったんじゃないでしょうか。

Excelは行を隠してあーだこーだやろうとすると簡単に死ねます。

みんなはまねしちゃだめですよ!!

ジェネレーター側は見た目はいい感じにできました。

これ使うだけで今まで40分かかってたのが半分になりましたから。

アイディアの勝利というやつです。

ここでの実績が大きく、後のお仕事を任されるのに繋がっていきます。

さらに事編へ

ここまできてようやく、for i ループが使えるようになったところです。

コレクション、連想配列はよくわからないころですね。

ほんとどうやって作ったんでしょ。

技術的にはすっぱり飛ばしていいところでもあります。

いよいよ次くらいから本格的な開発になります。

なずなとVBAとExcelと~基礎を何も知らないのに作っていた編~

f:id:nazuna_0124:20170326223448p:plain

ここはわたしの日記帳!!

noteに投稿するのって何気に緊張します。

推敲する前にだらだらと書いてみるというテストです。



セルとかなにこれ死ねばいいのにから始まりました

わたしの無意味に苦労した生い立ちはさらっと飛ばしておきましょう。

なやかんやで、誰でも採用されるということで、大規模募集していたコールセンターの

オペレーターとして就職しました。

案件管理として使われていたのがExcelさん。当時のわたしは28歳です。

「なにこれつかいにくい!!メモ帳でよくない?セルとか意味わからない」

第一印象から最悪でした。


フィルターちゃんと使おうよ

コールセンターでお客様に案内する内容って、すべて覚えているわけじゃないんです。

資料があります。媒体は場所によって様々です。

わたしのところは会社内専用のWebページで作成されていました。

これが使いにくいのなんのって。

何が悪いって、絞り込みができなかったんです。

携帯電話の案内だったので、例えばカメラの画素数が一定以上でお値段はいくら

以下といった抽出ができませんでした。なのにお客様からはよく聞かれる内容だったのです。

そこで目を付けたのがExcelのフィルター昨日。htmlページからコピッて手動で一生懸命加工して。

それを作ればあっというまに説明できるようになりました。

フィルターがめんどくさいからVBA

フィルターをいろいろ使いこなすようになったころ、案件管理のExcel

日付を変更して毎日同じような抽出していることが気になりました。

そこで上司に提案です。

「最近プログラム勉強してます。楽になるかもしれませんので、作ってみていいですか?」

快く了承をもらいました。このときから、コールセンターで電話をしない仕事の誕生です。

会社に入る理由が理由だったわたしは電話取る、なんなら声を出すこと自体が嫌いだったんです。


自分が提案するとプログラムの仕事ができると、すっかり味をしめたので次々提案していくことになります。


文字が小さすぎて見えないんじゃヴォケ

引き続きの案件管理Excelさん。バージョンは2003だったと思います。

このときは1セルに長文を入れても↑にあるバーで全文が見やすかったのです。

そのせいか、くっそ長い履歴を入力するのが主流でした。

当時すでにネトゲのやりすぎで眼精疲労気味だったわたしはここに目を付けました。

「案件管理見やすくしたいので修正してもいいですか?」

上司さんはやっぱり了承。今にして思えばとても理解ある人でした。


ループ、変数を知らないで行の特定は大変だった

実はもうすでにこのときどうやったかは覚えていません。

とにかく苦労しました。50時間くらいは使ったんじゃないでしょうか。

コールセンターは時給はよいので残業代がとてもおいしかったです。

このとき作ったのは要するに参照です。

特定のナンバーやIDを入れれば、特定行の情報を抽出するというものです。

表がきちんとしてればvlookup関数でも十分実現できます。

使い方の問題で関数では難しかったのです。

しかし、恐ろしいのはこのときまで関数の使い方は詳しくなかったことです。


次へつづく?

日記帳だといったものの。こういうの興味ある人いるのかな。

少なくとも昔のわたしは興味津々なので、書くだけ書いてみます。

読みたい!という奇特な方は、ツイッターあたりで応援頂けると嬉しいです!

この記事の期間は約半年、作ったものは5つのツールという具合です。

これが2年後にはセンター1000人が「なずな製VBA」を使うことになるとは

当時の私は知る由もなく!