「workbook open 返り値」
という検索で、このサイト・インストラクターのネタ帳へのアクセスがありました。
いくつかの可能性が考えられるキーワードですが、WorkbooksコレクションのOpenメソッドの戻りについて調べていた検索かな、と想像しています。
Workbooks.Openの戻りを確認するサンプルマクロ
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メソッドが何を返すのか、わかります。
上図のとおり詳細ペインに「As Workbook」と表示されていることから、戻り値がWorkbookオブジェクトであるとわかります。
英英辞典を何度も調べるのと同じようにオブジェクトブラウザーを使いましょう
Workbooks.Openが何を返すかを意識したことのなかった方で、マクロを自分で書けるようになりたいという方は、この記事を読んだだけで、決して終わりにしないでください。
是非、ご自分の手を動かしてオブジェクトブラウザーを確認してください。
日本語から英語・英語から日本語といった翻訳をする人で、英英辞典を調べないという方は、いらっしゃらないはずです。
Excel VBAでも同じです。Excelマクロを作るということは、Excelにやってもらいたい仕事の手順を、ExcelがわかるVBAという言語に翻訳するということにほかなりません。
何度も何度もオブジェクトブラウザーを調べましょう。英語の翻訳をする人が英英辞典を引くのと同じように。
英英辞典を繰り返し引くことで、英語の理解が少しずつ深まっていくのと同じように、VBAでもオブジェクトブラウザーを引き、ヘルプを読むことを繰り返すと、Excelのオブジェクト構造に対する理解が深まっていきます。
最終更新日時:2023-08-04 15:45
- Newer:少人数ですぐ質問できて良かった
- Older:VBAでグラフシートを選択する
Home » エクセルマクロ・Excel VBAの使い方 » Workbooks・Workbook » Workbooks.Openメソッドの戻り値は?