【作業報告】VBAでもやはりプログラミング!?

本日の作業・・・

  • VBAでツール作成
  • 店舗で使うサブスクカード作成
  • 社内業務システム構築

です。

VBAでツール作成

先日ExcelマクロであるVBAを使ったツール作成の仕事を受注したのでプログラミングを行いました。

ツールの説明資料をしっかり読んで仕様を確認して作業をしました。VBAといえどプログラミングなのでしっかり要件を抑えないと不具合になりますので・・・

ツールの完成

VBAはそれほど難しくなく、わからない関数はネットで調べるとすぐに出てきます。連携されたサンプルファイルを使ってテストをし、自分で想定するパターンもテストをし、仕様書通りの結果が出たのでツールは完成しました。

 

クライアントからの検収依頼

自分ではテストをしたつもりでしたが、クライアントから実業務で使うと思われるファイルを受領しテストの依頼がありました。ちなみにツール作成当初に連携されたサンプルファイルのデータ件数は10件程度。

今回テスト用にもらったファイルのデータ件数は55万件!!

想像よりかなり多いです。。。ツールを動かしてみましたがさすがに55万件は処理が終わりません。15分経っても終わらないのでツールとして利用価値がないかなと思います。

もはやExcelで処理する件数ではないですね。ちなみに55万件をExcelデータとして書き込んだだけでファイルサイズは23M!

仕様確認時に処理件数を確認することはとても大切!

今回は初めての作業ではなかったので最初のサンプルファイルの件数を信じて作業をしてしまいました。やはり最初に想定される最大件数というのは確認しておくべきでした。

55万件あると変数もすぐにオーバーフローします。

 

できない!ではなく代替案を出す!

結局55万件は処理できないのでExcelでのツール化は難しいと思います。そのまま返すのは簡単ですが、そこはどのように代替案を出せるかが勝負かなと思っています。

しかし代替案を出すにも前後の業務フローがわからないと出しにくく、具体的な案は出せずにクライアントと調整中です。

 

店舗で使うサブスクカード作成

店舗を持つクライアントが新しくサブスクリプションサービスを始めるということで、サブスクを購入したお客様に渡すサブスクカードのデザインと印刷を受注しました。

要件確認

サブスクカードにはどのような要件で作成するのか確認しました。

  • 顧客番号は手書きで記入
  • カード種類は3種類なのでベース色は分ける
  • 光沢紙利用、角丸にする
  • 裏には利用規約を記載

上記に倣ってカードのデザインをこのサイトから応募いただいたデザイナーさんにお願いしました。

 

印刷会社の選定

前に名刺を印刷依頼したことがある印刷会社へ依頼することにしました。名刺サイズ専用の印刷会社ですがデザインを入稿すれば名刺サイズでサブスクカードも印刷していただけるとのことでした。

名刺shop.com

その他作業

サブスクサービスを開始するということで既存顧客のLINEアカウントへ連絡する用の画像作成、ホームぺージへの情報追加もセットで受注しました。

期限が短いのでしっかりコツコツ進めていきます。

 

社内システム構築

こちらはすでに受注済みの社内システム改修作業です。第1弾はリリース済みなのでそこに対する改修となります。

今回の作業は、、、

・データ入力画面作成

    ↓

・計算処理

    ↓

・PDF出力

です。

PHPでPDFファイルを出力

PDFファイルを作成するには『TCPDF』を利用する予定です。まだダウンロードすらしていないので勝手がわかりませんが、計算した金額をPDFに出力しそのまま請求書として利用する流れになります。

小規模改修でも設計はしっかり行う!

小規模の修正だといきなりコーディングから!という気持ちもありますが、ドキュメント整理し気持ちや頭を落ち着かせることで不要な障害を減らすことができます。

まとめ

プログラミングが関わると規模の大小に関わらず、設計をしっかり行わないと予期せぬ不具合を呼んだりします。設計をしっかりするためには要件をしっかり固める、要件を固めるためにはクライアントの要望を深堀し、想定される事象をこちらから聞きにいかないといけないですね。