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/

ピックアップ

「杜の都」発の開発ツールベンダーが時代を超えて開発者の生産性向上を支援~「Toolsの杜(ツールのもり)」開催!

A Good Tree Bears Good Fruit-1983年から開発ツールビジネスをスタートしたグレーシティ。開発支援ツール30周年記念フォーラム「Toolsの杜」の様子をレポートします。

業務を改善する情報共有の仕掛け~DevOpsの実現,RPAの導入に向けて~

ソフトウェア開発の業務改善をテーマに,DevOps実現の手順やそれを助けるツールとの連携,RPAによる社内ドキュメントの管理や効率化について解説します。

大人気動画コミュニティアプリの運用の内幕―MixChannel(ミクチャ)を支える技術

若者世代から圧倒的な人気を誇るライブ配信&動画投稿コミュニティアプリ「MixChannel」(ミクチャ)の裏側(レコメンドシステムやサーバサイド開発など)について解説していきます。

[特別広報]IPとITを組み合わせて世界へ KADOKAWAだからこそできる新しいコンテンツ発信を

人気アニメやコミック,小説などのIPを多数抱えるKADOKAWA。今回はIPを活用した新コンテンツ配信サービスの開発を進める若手エンジニア3名を中心に,開発体制や職場体制を伺いました。

バックナンバー

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

-->