外部仕様書 テスト仕様書 発表資料
Topへ戻る
新人研修報告へ戻る
目次
本アプリケーションは、セルに設定されている色により文字列の置換をするアプリである。図 1に全体の処理の流れのイメージを示し,表
1にセルの色(色番号)による処理概要を示す。
図 1 置換処理のイメージ
表 1 セルの色による処理概要
セルの色 |
処理概要 |
紫(色番号:47) |
セル内の文字列の置換を行う。置換先セルの色を黄色にする。 |
黄(色番号:6) |
セル内の文字列の置換を行わない。セルの色も変更しない。 |
緑(色番号:14) |
セルの置換を行うか行わないか選択させる。置換先セルの色を黄色にする。 |
上記3色以外 |
置換処理をしない。色もそのままにしておく。 |
置換先のセルに上記3色が設定されている |
置換処理をしない,色もそのままにしておく。 |
本アプリケーションの開発環境を表 2に示す。本アプリケーションでは,Excelのファイルを操作するためMicrosoftで提供されているMicrosoft Office Excel 2007以降を使用し開発を行う。2007以降を使用するのは,2007以前のExcelのバージョンでは,拡張子「.xlsx」と「.xlsm,」の互換性が無い為である。
表 2 開発環境
項目 |
種別 |
OS |
Windows7 |
開発環境 |
Visual
Studio2008 |
Excelのバージョン |
Microsoft Office
Excel 2007以降 |
本アプリケーションの実行環境を表 3に示す。
表 3 実行環境
項目 |
種別 |
OS |
Windows7 |
CPU |
Intel CORE2 Duo |
メモリ |
2GB |
Excelのバーション |
MicrosoftOffice2007
Excel |
本アプリケーションで扱うファイルについて示す。
本アプリケーションで使用するExcelファイルには置換元と置換先の両方の各セルに表
4の内容が記載されている。
セル列 |
記述内容 |
A |
番号 |
B |
空列 |
C |
ジャンル |
D |
空列 |
E |
define名 ※対象となるセル行の検索に使用する |
F |
文字列 ※セルの置換対象列 |
今回の置換対象列はF列を対象として行い,対象となるセル行の検索にはE列のdefine名を使用する。
置換元のExcelファイルには,図 2のように文字列が記載されている。また,F列のセルには色が設定されている(セルの色に関しては表 1参照)
置換先のExcelファイルには,図 3のように文字列が記載されている。置換元のdefine名と置換先のdefine名で一致するセルを置換する。
図 3置換先Excelファイル
本アプリケーション起動時に読み込まれる設定ファイルのファイル名とセクション名を以下に示し,各項目を表
5に示す。Key名OutputPassには,4.2節で出力されるファイルの出力場所が格納されており,デフォルトでOutputが格納される。またKey名RadioButtonには,メイン画面で表示される「緑色セル一括設定ラジオボタン」の初期状態が格納されており,デフォルトで「0」が格納される
ファイル名:Config.ini
セクション名:StartUp
ファイルの場所:本アプリケーションの実行ファイル(.exe)と同ディレクトリ上
表 5 Config.iniファイルの構成
Key名 |
デフォルト値 |
詳細 |
OutputPass |
実行ファイルと同じディレクトリのOutputフォルダ |
4.2節で出力されるファイルの出力場所が格納される |
RadioButton |
0 |
メイン画面で表示される「緑色セル一括設定ラジオボタン」の初期状態を格納している |
本アプリケーションで出力されるファイルについて示す。アプリケーション起動時にアプリケーションと同ディレクトリ上に設定ファイル(Config.ini)が存在しない場合は,設定ファイルが出力され置換処理実行後に「置換後のExcelファイル」と「置換履歴のテキストファイル」が出力される。
処理の結果として、図 4のようになる。「ID_ALARM_10」の「F10」セルの文字列が置換され、対象セルに黄色が設定される。
出力先は初回起動時に限り4.1.3節で設定した,本アプリケーションと同ディレクトリ上のフォルダOutputが指定される。フォルダが存在しない場合,フォルダOutputが自動生成される。また,メイン画面において出力フォルダを変更した場合(6.1.2節参照),ユーザーが指定したフォルダに生成される。
図 4 置換結果
置換処理後に置換したセルの行番号とdefine名、文字列をテキストファイルにカンマ区切りで出力する。また,ファイル名はコピーされた置換先ファイルの拡張子を「.txt」と加えたものとし,出力される場所についてはコピーされた置換先ファイルと同ディレクトリに作成する。(図
5)
メイン画面において「開始ボタン」が押下されると,4.1.3節で設定した「出力フォルダ」と「緑色セル一括設定ラジオボタン」のデフォルト値を,ユーザーが変更した値へと更新する。(メイン画面については6.1節参照)
また,初回起動時にConfig.iniファイルが本アプリケーションの同ディレクトリ上に無い場合は,自動でiniファイルが生成する。
本アプリケーションの画面構成について示す。本アプリケーションは「メイン画面」「進行状況画面」「緑色セルの置換選択画面」の3画面から構成される。
本アプリケーション起動時に表示される画面をメイン画面とする。(図
6)
メイン画面における各機能の概要は表 6に記述されている。詳細は6.1節を参照。
図 6 メイン画面
表 6 メイン画面の機能一覧
番号 |
機能概要 |
@ |
ダイアログの最小化 |
A |
アプリケーションの終了 |
B |
メニューバー/アプリケーションの終了 |
C |
置換元ファイルのフルパス表示 |
D |
置換元ファイルの読み込み |
E |
置換先ファイルのフルパス表示 |
F |
置換先ファイルの読み込み |
G |
Excelファイル出力先のフルパス表示 |
H |
Excelファイル出力先の読み込み |
I |
緑セルの一括設定 |
J |
編集内容の表示(処理後に生成されるtextファイルを表示) |
K |
読み込んだファイルの解析を開始 |
メイン画面において「開始」ボタン押下時に図 7に示す進行状況画面が表示される。
このサブ画面では,ファイルの解析の進行状況を目視する事が出来る。
進行状況画面における各機能の概要は表 7に記述されている。詳細は6.2節を参照。
図 7 進行状況画面
表 7 進行状況画面の概要説明
番号 |
機能概要 |
@ |
ダイアログの最小化 |
A |
×ボタンは無効化されており、何も起こらない |
B |
ファイル解析の進行度を表示するプログレスバー |
C |
ファイル解析にかかった時間を表示 |
D |
検出された置換対象となる行数をカウントして表示 |
E |
解析の中止/コピーされた置換ファイルの削除 |
図
6のメイン画面において緑色セルの一括設定ラジオボタンの「設定しない」を選択された時のみ表示され、置換元のファイル解析中にF列のセルに緑色が検出された際に表示される画面を緑色セルの置換選択画面とする。(図
8)
この緑色セルの置換選択画面では,検出された緑色セルの行の置換処理を実行するかをユーザーに選択させる。
緑色セルの置換選択画面における各機能の詳細は表 8に記述されている。詳細は6.3節を参照。
図 8 緑色セルの置換選択画面
表 8 緑色セルの置換選択画面の機能一覧
番号 |
機能概要 |
@ |
検出されたセルのdefine名と,置換元と置換先の検出された行に記述されている文字列を表示する |
A |
置換先ファイルに置換処理を実行する |
B |
置換先ファイルに置換処理を実行しない |
C |
今後,緑色セルの検出が行われた場合に同様の処理を適用させる |
本章では,5章で述べた各画面における機能について述べる。
本節ではメイン画面における機能について述べる。
図
9に示す参照ボタンを押下することで図 10のファイル参照ダイアログが表示される。ファイル参照ダイアログにて読み込むファイルを選択し,開くボタンを押下することでファイルのパスが取得される。読み込み可能となるファイルの拡張子は,「.xlsx」「.xls」「.xlsm」の3つとする。読み込んだファイルは各参照ボタンの横に配置してあるエディットボックス内に表示され,表示形式は絶対パスで表示される。エディットボックスは,置換元ファイル,置換先ファイルともに入力ができないようにする。ファイルの拡張子が違っている場合や存在しないファイルを選択された場合には,ファイル参照エラーが表示される。エラー内容については,7章のエラー一覧を参照する。
図 9 入力ファイルの参照部分
図 10 ファイル参照ダイアログ
アプリケーション起動時に4.1.3節で述べたConfig.iniのKey名OutputPassに格納されている値が図 11のように,エディットボックスに表示される。Excelファイル出力先はアプリケーション初回起動時に限り,本アプリケーションの同ディレクトリ上のOutputが指定される。出力先を変更したい場合は,参照ボタンを押下することでフォルダ参照ダイアログが表示され出力先のフォルダを変更することが出来る。変更した内容は,エラーが起きずに参照ができた時点でConfig.iniのKey名OutputPassに格納され,次回アプリケーション起動時には前回指定したパスがエディットボックスに表示される。
図 11 出力フォルダの参照部分
ファイルを選択しメイン画面の開始ボタンが押下されると処理が実行される。その検索中,置換対象行のセルに緑色が検出された場合のみ,処理を一時中断し専用のダイアログが表示される。(図 8)
図
12は緑セルの一括設定のラジオボタンを示す。初回アプリ起動時は,Config.iniにより「設定しない」に設定されている。緑色のセルが検出された際の処理を一括設定することで,5.3節の緑色セルの置換選択画面が表示されずに処理が実行される。
設定された内容はConfig.iniのKey名RadioButtonに格納され,次回アプリケーション起動時に維持された状態で表示される。設定内容として保存される内容は,0~2の整数値で「設定しない」が「0」,「全て置換する」が「1」,「全て置換しない」が「2」となる。
図 12 緑色セルの一括設定を行うラジオボタン
2つのExcelファイルの選択が終了するとメイン画面の開始ボタンが有効になる。開始ボタンを押下すると「緑色セル一括設定」の設定が保存される。設定の保存後にファイル読み込みエラーが表示されなければ処理が実行される。処理実行中はメイン画面を非表示にし,5.2節の進行状況画面が表示される。置換元ファイル,置換先ファイル,出力先フォルダが正常に指定されているかを確認した後に,出力先フォルダに置換先ファイルのコピーが作成される。コピーしたファイル名は,「置換先ファイル名 + タイムスタンプ + ナンバリング」となる。出力先フォルダとして選択されているフォルダが見つからない場合はフォルダ読み込みエラーが表示される。
ファイル・フォルダ読み込みエラーについては,7章のエラー一覧を参照。
置換処理には,置換先ファイルのコピーを使用する。置換の処理のイメージとして図 13に示す。
置換元ファイルで置換対象のセルが検出されると置換先ファイルのコピーに置換処理を行う。
置換元ファイルで置換対象となる行が検出されたがdefine名が指定されていなかった場合と置換元ファイルで置換対象となる行のdefine名が置換先ファイルで存在しない場合は,置換検出エラーが表示される。置換検出エラーについては,7章のエラー一覧を参照。
メイン画面にて開始ボタンを押下し,置換処理がすべて終了したら図 14に変更内容が表示される。
内容はリストコントロールで表示され,左から対象セルの行番号,define名,置換後の文字列となる。
リストコントロールは,置換内容の表示だけを行うので行の編集はできない。
図 14 変更内容表示部分
本節では,進行状況画面の機能について述べる。
図 15はメイン画面の開始ボタン押下時に表示される,処理の進行状況をプログレスバーにより示しているダイアログである。進行状況画面が表示された際には,メイン画面は非表示とし操作が出来ない状況となる。
現在の進行状況は,プログレスバーで表示する。置換元ファイルで検出された行がすべて置換先ファイルに置換された時点でプログレスバーが右端まで到達する。プログレスバーの下部に経過時間と検出された置換対象行を表示する。また,右上の×ボタン
押してもダイアログの終了処理をされないようにする。
図 15 進行状況確認の画面
置換処理実行中に処理を中止したい場合は,図 16の赤枠で囲ってあるキャンセルボタンを押下することで現在実行している処理のキャンセルができる。処理のキャンセルを行った場合は,以降の置換処理は行われず,置換処理を行っていた置換先Excelファイルのコピーは削除され,進行状況画面を終了し非表示となっていたメイン画面を表示する。
図 16 置換処理のキャンセル
置換処理が終了した場合,進行状況画面のダイアログが閉じ図 17のように処理の終了を知らせるメッセージボックスが表示される。置換処理が終了すると4.2.2節で記述した置換履歴のテキストファイルが出力される。また変更内容が無かった場合,置換先ファイルのコピーは削除され置換履歴のテキストファイルは出力されない。その際に図 18の警告が表示される。
出力するテキストファイルの概要は4.2.2節を参照。
図 17 処理完了時に表示されるメッセージボックス
図 18 変更処理がなかった場合
本節では,緑色セルの置換選択画面の機能について述べる。
処理実行中にメイン画面の緑色セル一括設定ラジオボタンで「設定しない」を選択していた場合,置換元ファイルで緑色のセルが検出された際にコピーした置換先ファイルに置換するかどうかを選択するためのダイアログが表示される。(図 19)
ユーザーは,ダイアログに表示されているdefine名と置換元の文字列と置換先の文字列を確認し,置換処理の選択を行う。置換する場合は@を押下し,置換処理をしない場合はAを押下する。
図 19 緑色セルの置換選択画面
6.3.1節で選択した処理を今後,緑色のセルが検出された際に同じ処理を適応したい場合はダイアログの下部に配置してあるチェックボックスにチェックを入れることで適応される。例としてチェックボックスにチェックを入れた状態で「置換処理をしない」を選択した場合,以降の緑色のセルが検出された場合に図 19のダイアログは表示されずに置換処理を行わない。
エラー処理の発生条件,場所,エラーメッセージについてまとめた内容を表 9にまとめる
表 9 エラー一覧
エラー発生場所 |
エラー条件 |
エラーメッセージ |
メイン画面,置換元・置換先参照ボタン(6.1.1節) |
選択されたファイルの拡張子が「.xlsx」「.xls」「.xlsm」でなかった場合 |
選択されたファイルはExcelファイルではありません |
メイン画面・開始ボタン押下後(6.1.4節) |
開始ボタンを押下し,参照したファイルが読み込めない場合 |
置換元または置換先ファイルが見つかりません |
メイン画面・開始ボタン押下後(6.1.4節) |
開始ボタン押下後,出力フォルダが見つからなかった場合 |
出力フォルダが見つかりません |
処理実行中(6.1.5節) |
処理実行中に置換対象行のE列にdefine名が無かった場合 |
置換元ファイルの検出行のdefine名が指定されていません |
処理実行中(6.1.5節) |
処理実行中に置換元で検出された置換対象行のdefine名が置換先ファイルに存在しなかった場合 |
置換先ファイルのdefine名と一致しません |
改定履歴
版数 |
改定日 |
内容 |
変更者 |
V0.9 |
2015/5/26 |
新規作成 |
T.K S.S |
V0.91 |
2015/5/26 |
処理の終了の追加 |
T.K S.S |
V0.92 |
2015/5/27 |
内容の修正途中 |
T.K S.S |
V1.00 |
2015/5/28 |
レビュー後内容修正 |
T.K S.S |
V1.01 |
2015/5/29 |
内容修正 |
T.K S.S |
V1.02 |
2015/6/1 |
内容修正 |
T.K S.S |
V1.03 |
2015/6/2 |
内容修正 |
T.K S.S |
V1.04 |
2015/6/3 |
内容修正 |
T.K S.S |
V1.05 |
2015/6/4 |
内容修正 |
T.K S.S |