Proactive rep! ~担当者によるプロジェクト推進~

第9回 作ったものはまず再利用。そして別方面に展開しよう。

2009年1月15日

この記事を読むのに必要な時間:およそ 1.5 分

作ったコードは再利用する

前回Excelの自動化の説明の中でも触れましたが,Excelのアドインとして保存する事でライブラリとして他のExcelワークブックから参照して再利用できるようになります。

このようなライブラリ化を行う場合,通常のシステム開発と同様に業務固有の部分と業務に依存せず共通に使える部分とを明確に設計しておくことです。業務固有のロジックが交じってしまうと再利用性が損なわれてしまいますし,業務の秘密を外に晒すことにも繋がってしまいます。

それでは,具体的な手順を説明していきます。

分かりやすいプロジェクト名をつける

まず,アドインとして保存したいワークブックのVBA Project名を変更します。 Visual Basicの画面でプロジェクトのプロパティを表示し,デフォルトでは「VBAProject」と設定されているプロジェクト名を分かりやすい名前に変更します。

図3 分かりやすいプロジェクト名をつける

図3 分かりやすいプロジェクト名をつける

独立したワークブックに保存する

次に,Excel2003ならば拡張子「xla」を持つExcelアドイン形式でExcel2007ならば拡張子「xlsm」を持つExcelマクロ有効ブック形式でワークブックを保存します。

図4 独立したワークブックに保存する

図4 プロジェクト名を分かりやすい名前に変更します。

アドインとしてExcelに登録する

そして,Excelのアドイン管理を行うアドインダイアログを表示し,先ほど保存したワークブックを読み込みます。

図5 アドインとしてExcelに登録する

図5 アドインとしてExcelに登録す

ファイルの種類として初期表示ではアドインしか表示されないようになっていますが,⁠ワークシート」を選ぶことでExcelマクロ有効ブック形式を選択することができます。

アプリケーション側から呼び出せるように参照設定を行う

アドインとして保存したワークブック内の関数を呼び出す場合は,呼び出し元のプロジェクトから参照設定を行う必要があります。

参照設定ダイアログに先ほど読み込んだアドイン内のプロジェクトが表示されるので,チェックを入れて下さい。

図6 アプリケーション側から呼び出せるように参照設定を行う

図6 アプリケーション側から呼び出せるように参照設定を行う

こうすることで,アドイン内のメンバにアクセスできます。メンバはオブジェクトブラウザから確認できます。

図7 アドイン内のメンバにアクセス

図7 アドイン内のメンバにアクセス

このようにすることで,Excelであってもコードの再利用を容易に行えるため,作ったものを整理して蓄積する価値が上がります。

なお,アドイン中で定義したクラスのインスタンスは,呼び出し元では作成できません。クラスモジュールを使う場合は,Factory Methodパターンなどを用いてアドイン側で生成を任せるようにしましょう。

著者プロフィール

こしばとしあき

関西出身自宅料理員兼ソフトウェア開発担当者。金融系業務アプリ開発,レガシー移行,Webサービス開発,画面制御基盤開発など様々な開発現場を経て,最近関東に進出。

アジャイル,ライフハック,プロジェクトファシリテーションに強く関心を持ち,講演も行っている。「ペンポッドで世界へミサイル大会」初代チャンプ。

blog『koeだめ』http://d.hatena.ne.jp/bash0C7/
料理blog『kuiだめ』http://kuidame.4038nullpointer.com/

ピックアップ

ヒューマンリソシアのGITサービスが目指す,時代にアジャストするエンジニアチームの作り方

アフターコロナにおけるエンジニアチームの作り方,グローバルな視点でのエンジニア獲得と開発とコミュニケーションの在り方について取り上げます。

LINE テクノロジー&エンジニアリング大全

「LINE DEVELOPER DAY 2020」より,注目すべきテクノロジー,エンジニアリングをピックアップし,詳説インタビューを実施しました。

プロダクト思考で開発が進む「みてね」の今とこれから~みてねの生みの親笠原健治氏,開発マネージャ酒井篤氏が考える,プロダクトとエンジニアリングの素敵な関係

「家族アルバム みてね」を支えるエンジニアリングについて,開発体制やプロダクトの開発・運用,これからのビジョンについて伺いました。

自分の証明と持続的な学びがこれからのDX人材の鍵を握る ~A-BANKが考えるDX人材バンクの在り方とは?

2020年11月にスタートしたA-BANKの人材バンク。評価・育成・紹介の一体型人材紹介から見える,これからの人材エコシステムに迫ります。

APIゲートウェイとサービスメッシュの違い

APIゲートウェイとサービスメッシュの,それぞれの概要とユースケースを紹介し,いずれを使用するかの判断の指針となるチートシートを提供しています。

バックナンバー

No12(2009.04)

今回のSoulHackで主に取りあげるのは,梅田望夫の「ウェブ時代をゆく」という本です。

No11(2009.03)

今回のSoulHackで取りあげるのは,阿部謹也の「世間学への招待」と他1冊の本です。

No10(2009.02)

今回のSoulHackで取りあげるのは,山本七平の「空気の研究」という本です。

No9(2009.01)

今回のSoulHackで取りあげるのは,アーノルド・ミンデルの「紛争の心理学」という本です。

No8(2008.12)

今回のSoulHackで取りあげるのは,河合隼雄氏の「カウンセリングを語る」という本です。

No7(2008.11)

特集:2008年度日本OSS貢献者賞受賞者インタビュー

No6(2008.10)

特集:エンジニアの実践的キャリアアップ思考法

No5(2008.09)

特集:事例でわかる,プロジェクトを失敗させない業務分析のコツ

No4(2008.08)

特集:ゼロからはじめるPSP

No3(2008.07)

特集:今こそ使える! プロトタイピング

No2(2008.06)

特集:「開発スタイル」開発法

No1(2008.05)

特集:エンジニアが身につけたい基本スキル 2008

-->