• 締切済み

ExcelのVBAでRangeとCellsをWSHから使いたいのですが・・

エクセルに書き込むマクロのコードを書いていたのですが、 Exl.range(Cells(1, 1), Cells(3, 4)).Font.Bold = True のような部分が、VisualBasic や OFFICEのVBA上で 参照設定でExcelを指定していると、動くのですが、 同じコードが、WSHでは参照設定ができないせいなのか、 動きません。WSHの場合、どのようにしたらよいのでしょうか。 よろしくお願いします。

みんなの回答

  • todo36
  • ベストアンサー率58% (728/1234)
回答No.2

>Range や Cells は、もっと階層をたどったようなオブジェクトの >表現方法が必要なのだろうかと思ったのですが・・ VB上の参照設定と同じように、アプリ~ブック~シートですよね。

参考URL:
http://www.hi-ho.ne.jp/tetsuzo/windows/wsh/excel.htm
accessdb_user
質問者

お礼

ありがとうございました。ご指示どおりにやってみると、出来ました。

  • qwedesu
  • ベストアンサー率31% (6/19)
回答No.1

Set Exl = WScript.CreateObject("Excel.Application") 上の1行を追加してからつかえます。 Exl.Range(Cells(1, 1), Cells(3, 4)).Font.Bold = True

accessdb_user
質問者

補足

ありがとうございます。 説明が不足していました。すみませんでした。 CreateObject をやっても うまくいかなかったのです。 Set Exl = WScript.CreateObject("Excel.Application") Exl.Range(Cells(1, 1), Cells(3, 4)).Font.Bold = True で WSHを実行しても、 型が一致しません。: 'Cells' というエラーが出ます。 もしかしたら、 Range や Cells は、もっと階層をたどったようなオブジェクトの 表現方法が必要なのだろうかと思ったのですが・・