Visual Basic for Applicationsを活用する [情報処理]
「二万件のデータ、取り込みをお願いします。明日の昼までに。」
はいはいと請け負ったのはいいのですが。
システムの仕様で一回のデータ取り込み件数が50件までという制限があるため、入手したレコードを50件ごとに分割していくと、
20000 ÷ 50 = 400 で、400個のファイルになります。
エクセル上の表を50行ずつのCSVファイルに吐き出させるようなプログラムを作れば、何もすることはありませんが、そんなことをしている時間も予算もない。
手作業で、ヘッダーをつけて、小分けにして、CSVに吐き出させる? 400個も? いやだなぁ・・
そこで、思いついたのがVBA/マクロの活用。
エクセルなどマイクロソフト・オフィス製品にはVisual Basic for Applicationsと呼ばれるプログラム言語の開発環境がついています。
この言語を使えば、オフィス上で行う作業の繰り返しなどを自動化することができます。1990年代、松本空港の近くの工場の倉庫で在庫管理や生産管理の仕事をしていたころ、私が活用できる自動化のツールといえば、このVBAでした。
そのときの経験を思い出して、VBAを久々に活用してみようかと。
今日のところは、参考文献もないし、コーディングの作法も思い出せずにかなり苦戦しました。
わからない箇所は、インターネット上のサイトをあちこち検索しながら、マクロの自動記録を使ってエクセルに記録させたコードを、少しずつ修正して、どうにか思ったような動作をさせることができました。
トータル3時間くらいかかりましたが、無事に約400個のCSVファイルが出来上がりました。
うち2時間くらいは、コーディングとデバッグ(バグ取り)に費やしました。
主要なプログラムは:
ヘッダーを見つけて50行下に挿入するプログラム。
50行単位でレコードをワークシートに分割するプログラム。
各シートをCSVに吐き出すプログラム。
の三つです。
プログラミング、けっこう面白いですよ。
皆さんも余裕があったら試してみてください。
ウインドウズ・ライブ フォトギャラリー [情報処理]
マイクロソフト社が提供しているサービス、「ウインドウズ・ライブ」 http://get.live.jp/
モノは試しで、やってみましょう。
「世の中、タダほど高いものはない」という人生訓もあるんですけど、コンピュータの世界は、ある種の便宜提供と引き換えにこういうサービスが成り立っているんでしょうか。
使っていると、途中で、「品質向上のためにフィードバックしますか」
とかポップアップで聞いてきます。
ほお、デバッグ(ソフトウエアの欠陥修正)に協力しなさいと。
私は面倒なので、よほどのことがない限りそのまま使ってますが^^;
それから、この業界は競争が激しい。
よりよいサービスを追いもとめて競争すること自体はいいことなんですけど。
製品の入れ替わりのサイクルが短いので使う人も、売る人も、サポートする人も大変^^;
そんなわけで、この手の仕事をしていると、くたびれてしまうこともあります・・^^;
私は、「フォトギャラリー」
・・Windows VISTAに装備されている「フォトギャラリー」とほぼ同じ・・
・・ちなみに、私、パソコンのOSは、XPを使っています・・・
・・うちのPCではハードウエアがついていかないため・・
を使ってみたかったんです。