環境にエクセル2000と2007は入っています。
Set gExcel = CreateObject("Excel.Application")
でさくせいすると、gExcel には、2007が入ってしまいます。
VBの参照設定は、2000用
なぜでしょうか?
複数バージョンの Excel がインストールされている場合に、
CreateObject や New Excel.Application を用いても、
特定のバージョンのみを起動させる事はできなかったはずです。
"Excel.Application.8" や "Excel.Application.12"といった
バージョン別の ProgId は用意されていますが、そもそも
CLSID 自体が {00024500-0000-0000-C000-000000000046} で
共通しているため、後にインストールした方しか起動しなかったかと。
バージョンを切り替えるのであれば、予め、管理者権限において
"C:\Program Files\Microsoft Office\OFFICE11\excel.exe" /regserver
を実行すれば、レジストリ設定を特定バージョンに変更することが
できるかも知れません。(バージョン混在環境が手元に無いので未確認です)
あるいは CreateObject を使うのではなく、フルパスを指定して
Excel.exe を起動するようにして、それを DDE で操作するか、あるいは
GetObject で拾って操作する方式が使えるかも知れません。保証はできませんけれども。