Home » エクセルマクロ・Excel VBAの使い方 » Workbooks・Workbook » Workbooks.Openメソッドの戻り値は?

Workbooks.Openメソッドの戻り値は?

対象:Excel2007, Excel2010, Excel2013, Windows版Excel2016

Workbooks.Openメソッドの戻り値は?

「workbook open 返り値」
という検索で、このサイト・インストラクターのネタ帳へのアクセスがありました。

いくつかの可能性が考えられるキーワードですが、WorkbooksコレクションのOpenメソッドの戻りについて調べていた検索かな、と想像しています。

[スポンサードリンク]

Workbooks.Openの戻りを確認するサンプルマクロ

Workbooks.Openメソッドの戻りが何なのかは、以下のようなマクロで確認できます。

Sub Workbooks_Openメソッドの戻り値を確認する()
 Dim var As Variant
 Set var = Workbooks.Open("C:\tmp\samp.xlsx")
 MsgBox TypeName(var)
End Sub

Variant型の変数を用意しておいて、

Dim var As Variant

Workbooks.Openメソッドの戻りを変数varに代入して、

Set var = Workbooks.Open("C:\tmp\samp.xlsx")

TypeName関数でオブジェクトの種類を表す文字列を取得し、メッセージボックスに表示しています。

MsgBox TypeName(var)

Cドライブのtmpフォルダにsamp.xlsxというファイルを用意しておいて上記のマクロを実行すると、「Workbook」とメッセージボックスに表示されます。

Workbooks.Openメソッドは、Workbookオブジェクトを返すということです。
この返されるWorkbookオブジェクトは、Workbooks.Openメソッドで開かれたばかりのブックを表します。

オブジェクトブラウザーでWorkbooks.Openの戻りを確認する

勿論、オブジェクトブラウザーを使えば、コードを実行することなく、Workbooks.Openメソッドが何を返すのか、わかります。

Workbooks.Openメソッドの戻り値は?

上図のとおり詳細ペインに「As Workbook」と表示されていることから、戻り値がWorkbookオブジェクトであるとわかります。

英英辞典を何度も調べるのと同じようにオブジェクトブラウザーを使いましょう

Workbooks.Openが何を返すかを意識したことのなかった方で、マクロを自分で書けるようになりたいという方は、この記事を読んだだけで、決して終わりにしないでください。

是非、ご自分の手を動かしてオブジェクトブラウザーを確認してください。

日本語から英語・英語から日本語といった翻訳をする人で、英英辞典を調べないという方は、いらっしゃらないはずです。

Excel VBAでも同じです。Excelマクロを作るということは、Excelにやってもらいたい仕事の手順を、ExcelがわかるVBAという言語に翻訳するということにほかなりません。

何度も何度もオブジェクトブラウザーを調べましょう。英語の翻訳をする人が英英辞典を引くのと同じように。

英英辞典を繰り返し引くことで、英語の理解が少しずつ深まっていくのと同じように、VBAでもオブジェクトブラウザーを引き、ヘルプを読むことを繰り返すと、Excelのオブジェクト構造に対する理解が深まっていきます。

最終更新日時:2023-08-04 15:45

[スポンサードリンク]

Home » エクセルマクロ・Excel VBAの使い方 » Workbooks・Workbook » Workbooks.Openメソッドの戻り値は?

「Workbooks・Workbook」の記事一覧

検索


Copyright © インストラクターのネタ帳 All Rights Reserved.

.