【DO!BOOK・ページリンク】
2008_migaro_techreport_001   78 / 136

BOOKをみる

10秒後にBOOKのページに移動します


76 セルの値で幅を設定できる。【図5】 C先頭のシートを選択  ワークシートは、WorkSheets[ワー クシート番号].Select で選択できる。【図 6】 D Book 名を指定して保存  Book の保存は、SaveAs で、ファイ ル名や詳細パラメータを指定することが できる。【図7】 E範囲を指定  セルの範囲は、Range で指定するこ とができる。【図8】 F罫線を出力  罫線は、Range で範囲を指定し、出 力することができる。  Borders.LineStyle で、罫線のスタイ ルを設定できる。  Borders.Weight で、罫線の太さを設 定できる。【図9】 Gセルを結合  複数セルは、Range で指定して、 MergeCells で結合できる。【図10】 Hシートを印刷  ワークシートは、PrintOut で印刷す ることができる。【図11】 Iシートをプレビュー表示 J警告メッセージを制御  Excel の警告メッセージは、 DisplayAlert で出力制御をすることが できる。【図12】 4 Excelのマクロ記録 機能を活用  「Excel 操作テクニック」では、具体 的に、Delphi/400 でよく使うプログラ ム例を挙げてみた。だが、例にない Excel の動作を行いたいときはどうすれ ばいいのだろうか。  Excel では、マクロで動作を記録して、 VB のソースとして調べることができ る。VB のソースはもちろんDelphi の ソースとは異なる。とはいえ、操作やプ ロパティは同じように扱えるため、十分 にDelphi のプログラムの参考とするこ とができる。 Excelのマクロ記録  ここでは、前述のEの[範囲を指定] を例に見ていこう。 . 最初に、Excel の[ツール]→[マク ロ]から[新しいマクロの記録]を実 行する。【図13】【図14】 . これで、マクロが記録状態となるので、 調べたいExcel の操作を実際に行う。 ここでは、A1 からC5 のセルを選択 して、Ctrl + C でコピーする。 . Excel の操作が終わったら、マクロ の記録を終了する。【図15】 VBのソースで確認  では、マクロが記録されているので、 VB のソースで、この記録されたExcel の操作を確認してみよう。 . 確認するマクロを選択し、[編集]で 開けば、マクロのソースを見ることが できる。【図16】  ソースを見てみると、A1 からC5 の セルの範囲はRange で指定されて、 Select で選択されていることがわかる。 また、コピーは、Copy というメソッド が使用されているのがわかる。【図17】 Delphiのソースに組み替え  このソースを参考に、Delphi のソー スに組み替えていく。すると、Eの[範 囲を指定]のようなプログラムを作成す ることができる。  Excel の操作は、基本的に何でもマク ロに記録できる。そのため、参考となる ようなソースが見つけられないときに は、これらの調査を行って、独自にプロ グラムを作成することができる。少し応 用的な内容ではあるが、Excel のプログ ラムで詰まった際にはぜひ試してみてほ しい。 5 Excel2007への対応  Excel2007 のPC で、xlsx 形式を指 定してファイル保存をしたいことがあ る。その場合、実行PC のExcel のバー ジョンがExcel2007 かどうかを判断す る必要がある。  ExcelApplication のVersion で、 Excel のバージョンを取得/ 判断するこ とができる。  各Excel のバージョンは、以下の通 りである。 ・2007 -‘ 12‘.0 ・2003 -‘ 11‘.0 ・XP -‘ 10‘.0 ・2000 -‘ 9‘.0 ・97 -‘ 8‘.0 または‘8.0‘a  例えば、バージョンを判断してファイ ル名(拡張子)を設定する場合のソース を作成してみた。【図18】  応用して組み込めば、これまでの作成 済のExcel 処理も、バージョンに対応 した汎用的な作りに組み替えることがで きるだろう。 6 まとめ  本稿では、基本的なExcel の操作から、 応用的な調査方法まで説明してきた。こ れらを、Delphi でExcel を扱う際に、 リファレンスとして活用してほしい。  具体的なコード例をコピーして使うの もよいし、また中身の仕組みがわかって くれば、自分で新しいExcel 操作の調 査もできるようになる。  Delphi からのExcel の操作はたくさ んあるので、それらのテクニックをマス ターして、ぜひ自分用のExcel リファ レンスを作り上げてほしい。 M