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/

ピックアップ

「LINE DEVELOPER DAY 2019」レポート

LINE(株)は11月20日・21日に技術カンファレンス「LINE DEVELOPER DAY 2019」を開催しました。DAY1・DAY2の様子を注目セッションとともにお伝えします。

技術的好奇心を満たせる2日間 ―「LINE DEVELOPER DAY 2019」へ行こう

今年で5回目を迎える技術カンファレンス「LINE DEVELOPER DAY 2019」。LINEのエンジニア3名がイベントに先駆けて見どころを紹介します。

コードの安全性・安定性を高める開発サイクル~テスト管理の効率を上げ,脆弱性診断を自動で行う~

本連載では,連載「業務を改善する情報共有の仕掛け」を受けつつ,安全性・安定性を加えた開発サイクルについて考えていきます。

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

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

バックナンバー

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

-->