4.1 エクセルオブジェクトを作る
 VBS(WSH)でエクセルワークブックを扱う場合の基本です。エクセルワークブックを扱うときは、エクセルオブジェクトの変数を作ってしまえば、あとはエクセルマクロと同じ。エクセルオブジェクト変数で、エクセルマクロのメソッドやプロパティを使えばOK!参考までに、エクセルマクロが何者かを知りたいときは、当サイトのExcel VBA(エクセルマクロ)講座をどうぞ。

 さて、本題のエクセルオブジェクトですが、CreateObject("Excel.Application")という命令(?)を使って作ります。ちなみに、実行するパソコンやサーバにエクセルが入っていないとできませんので注意!

 エクセルオブジェクトの作成は、早い話がエクセルを起動するってことと同じなんですが、起動があれば終了もあります。ついでに、やっちゃいます。
使用例
 CreateObject("Excel.Application")の使用例です。Set命令で、変数objExcelをエクセルオブジェクトにしてあげます(@)。あとは、objExcelに対して、セルへ罫線を付けたり、文字を入れたりなどの操作するメソッドを実行するだけ!

 この方法だと、エクセルのバージョンは気にする必要はありません。パソコンに入っている一番新しいバージョンのエクセルオブジェクトが出来ます。

 エクセルを終了するには、エクセルオブジェクトのQuitというメソッドを実行(A)します。

Option Explicit

Dim objExcel

'@エクセルオブジェクトを作成します
Set objExcel = CreateObject("Excel.Application")

'Aエクセルを終了します
objExcel.Quit

'オブジェクトの破棄
Set objExcel = Nothing

 ところで、この例をそのまま実行すると、なんと画面には何の変化もありません。でも、裏ではちゃんとエクセルを起動し、終了させています。秘密を知りたい人は、4.2 エクセル画面を表示・非表示にするをどうぞ!
使用例2/旧バージョンのエクセルオブジェクトを作りたいとき
 場合によっては、エクセル95などの環境でも動くかを試したいことがあるでしょう。そんなときは、CreateObject("Excel.Application.5")のように、Applicationの後ろにピリオドを付けてバージョンを指定してください(@)。

 ただし、指定したバージョンのエクセルがパソコンに入っていないとオブジェクトが作成できません。

Option Explicit

Dim objExcel

'@エクセル95のオブジェクトを作成します
Set objExcel = CreateObject("Excel.Application.5")

'エクセルを終了します
objExcel.Quit

'オブジェクトの破棄
Set objExcel = Nothing

 こっちも、この例をそのまま実行すると、なんと画面には何の変化もありません。でも、裏ではちゃんとエクセル95を起動し、終了させています。秘密を知りたい人は、4.2 エクセル画面を表示・非表示にするをどうぞ!

Copyright(C) 1999-2014 結城圭介(Ver.3.51) All rights reserved