こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

VBでエクセルのバージョンを指定して開く

PCにEXCEL2002と2013がインストールされています。
VBでエクセルを起動し、マクロを実行したいのですが、その際に起動するエクセルのバージョンを指定したいと考えています。

以下でやると標準設定のEXCELが開いてしまい、バージョンの指定ができません。
Dim xlApp As New Excel.Application()
Dim xlBooks As Excel.Workbooks
xlBooks = xlApp.Workbooks
xlBooks.Open("C:\test.xls")
xlApp.Visible = True
xlApp.Run("test.xls!macro")

なにか方法はありますでしょうか?

投稿日時 - 2017-10-27 12:57:49

QNo.9390520

困ってます

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(1)

ANo.1

以下のようにすると、起動するEXCEL2002を指定して起動できます。

Dim xlApp As Excel.Application
Dim xlBooks As Excel.Workbooks
Set xlApp = CreateObject("Excel.Application.10")
Set xlBooks = xlApp.Workbooks
xlBooks.Open ("C:\test.xls")
xlApp.Visible = True
xlApp.Run ("test.xls!macro1")

CreateObjectメソッドで指定する「バージョン番号」は

Excel 2016⇒16
Excel 2013⇒15
Excel 2010⇒14
Excel 2007⇒12
Excel 2003⇒11
Excel 2002⇒10
Excel 2000⇒9
Excel 97⇒8
Excel 95⇒7
Excel 5.0⇒5

を指定します。

Set xlApp = CreateObject("Excel.Application.10")

でEXCEL2002が、

Set xlApp = CreateObject("Excel.Application.15")

でEXCEL2013が起動します。

投稿日時 - 2017-10-27 13:54:33

あなたにオススメの質問