Microsoft Excel操作用クラス

Microsoft ExcelをVBから操作する場合、手順が結構多くて面倒な場合がありますよね?
特に罫線の設定はコーディング量が多くなりがちになります。

そこで、Microsoft Excelを操作する時に便利なメソッドを実装したクラスを作成しました。
・・・あまりクラス化したメリットが感じられませんけどね。(^^;A

※このクラスを使用するには、プロジェクトの参照設定に「Microsoft Excel 9.0 Object Library」など、Excelのタイプライブラリを予め追加しておく必要があります。

 

サンプルダウンロード

 

【サンプル内容】

このクラスが実装しているプロパティ・メソッドは以下の通りです。

プロパティ

プロパティ 内容
Application ExcelのApplicationオブジェクトです。
WorkBook ExcelのWorkBookオブジェクトです。
WorkSheet ExcelのWorkSheetオブジェクトです。
Range ExcelのRangeオブジェクトです。
Window ExcelのWindowオブジェクトです。
ErrorMsgSilentMode クラス内でエラーが発生した場合にエラーメッセージを表示するか設定します。
  • True:エラーメッセージを表示する。
  • False:エラーメッセージをしない。

どちらに設定してもエラー時はErrorMsgプロパティにエラーメッセージはセットされます。

ErrorMsg クラス内でエラーが発生した場合にエラーメッセージがセットされます。



メソッド

メソッド 内容
Init 初期化処理です。
Excelのオブジェクトを作成します。
初期化が成功するとApplicationプロパティが設定されます。

戻り値

  • True:初期化成功。
  • False:初期化失敗。

失敗時はErrorMsgプロパティにエラーメッセージがセットされます。

AddBook ブックを追加します。
引数intSheetCountに数字をセットすると指定したシート数になるようにシートを削除または追加します。
成功するとSheetプロパティは一番最初のシート、WindowプロパティはSheetプロパティに対応するウィンドウが設定されます。

戻り値

  • True:追加成功。
  • False:追加失敗。

失敗時はErrorMsgプロパティにエラーメッセージがセットされます。

SetRange1 セルの範囲を設定します。

指定したセルの範囲の文字列(例:"A1:H8")に対応する範囲をRangeプロパティにセットします。

SetRange2 セルの範囲を行・列番号で設定します。

指定したセルの行・列番号(例:"1,1")に対応する範囲をRangeプロパティにセットします。
引数Col2・Row2を省略すると、引数Col1・Row1と同じ値が使用されて単一のセルを設定することも出来ます。

SetCellBorder 指定した範囲(Rangeオブジェクト)に罫線を設定します。

引数Linesは以下の通りとなります。

  • Lines_Left:外側左
  • Lines_Right:外側右
  • Lines_Top:外側上
  • Lines_Bottom:外側下
  • Lines_InsideVertical:内側縦
  • Lines_InsideHorizontal:内側横
  • Lines_Outside:外側
  • Lines_Inside:内側
  • Lines_All:外側+内側

また、各値を加算することで複数の箇所を同時に設定することも可能です。

例:上下に罫線をセットする場合 → Lines_Top + Lines_Bottom

その他の引数LineStyle・Weight・ColorIndexは、ExcelのBorderオブジェクトの各プロパティに準じます。

Replace 指定した範囲(Rangeオブジェクト)の文字列の置換えを行います。

ExcelのReplaceメソッドと同様の働きをします。
ただし、引数SearchOrder以下を省略した場合は必ず初期値で動作するようになっています。
(ExcelのReplaceメソッドは前回の設定で動作するようになっているため、意図しない動作になるのを防ぐ目的)

FindFirst 指定した範囲(Rangeオブジェクト)の文字列の検索を行います。

ExcelのFindメソッドの初回時と同様の働きをします。
ただし、引数LookIn以下を省略した場合は必ず初期値で動作するようになっています。
(ExcelのFindメソッドは前回の設定で動作するようになっているため、意図しない動作になるのを防ぐ目的)

Free このクラスによるExcelの操作を終了します。(オブジェクト参照を解放しています)
引数strModeに以下の値をセットするとExcelの動作を指定できます。
  • FreeMode_Quit:Excelを終了させます。(未保存の警告は表示されません)
  • FreeMode_Visible:Excelを現在の状態で表示させます。

戻り値

  • True:終了処理成功。
  • False:終了処理失敗。

失敗時はErrorMsgプロパティにエラーメッセージがセットされます。



このクラスの詳しい実装方法はサンプルのソースを参照して下さい。


[ Window Close ]