Home » エクセルマクロ・Excel VBAの使い方 » Workbookオブジェクト » OpenTextの戻り値は?

動作検証バージョン:Windows版Excel(バージョン1810 ビルド11029.20079)

「workbooks.opentext 返り値」
「Workbooks.OpenText 戻り値」
という検索キーワードでアクセスがあることに気付きました。

WorkbooksコレクションのOpenTextメソッドが何を返すのか、調べていらしたのでしょうか。

[スポンサードリンク]

Workbooks.OpenTextメソッドには戻り値がない

こういうことを調べるのはオブジェクトブラウザーです。

オブジェクトブラウザーで、WorkbooksコレクションのOpenTextメソッドを選択すると、詳細ペインに「Sub OpenText(...」と表示されています。

Excel VBAでSub型のメソッドは何も返しません。
もしも何かを返すメソッドであったならば、オブジェクトブラウザーで「Function OpenText(...」と表示されているはずです。

戻り値があるかどうかは変数への代入テストでわかる

オブジェクトブラウザーを使わなくても、テストコードを書いて調べることもできます。

もしも何らかの戻り値があるなら、
  Dim tmp As Variant
  Set tmp = Workbooks.OpenText("C:\temp\sample.csv")
または、
  Dim tmp As Variant
  tmp = Workbooks.OpenText("C:\temp\sample.csv")
のいずれかが正常に動作するはずですけれど、いずれも実行しようとするとコンパイルエラーとなります。

Workbooks.OpenTextで開いたブックをオブジェクト変数に

「workbooks.opentext 返り値」
「Workbooks.OpenText 戻り値」
と検索した方は、Workbooks.OpenTextメソッドの戻り値を変数に代入したかった可能性もあるでしょう。

Workbooks.OpenTextメソッドで開いたブックを、オブジェクト変数に格納したいということなら、以下のSubプロシージャが参考にしてください。


Sub OpenTextメソッドで開いたブックをオブジェクト変数に()
 Dim bk As Workbook
 Workbooks.OpenText "C:\temp\sample.csv"
 Set bk = Workbooks(Workbooks.Count)
 Stop
End Sub

開いた直後のブックが、最後に開かれたブックですから、Workbooks.Countで取得した、開いているブックの数を、Workbooksプロパティの既定プロパティの引数に指定することで、
  Set bk = Workbooks(Workbooks.Count)
結果的にOpenTextメソッドで開いたブックを表すWorkbookオブジェクトを取得して、オブジェクト変数に格納できます。

最終更新日時:2018-12-12 04:41

[スポンサードリンク]

Home » エクセルマクロ・Excel VBAの使い方 » Workbookオブジェクト » OpenTextの戻り値は?

TrackBack:0

TrackBack URL
[スポンサードリンク]

Home » エクセルマクロ・Excel VBAの使い方 » Workbookオブジェクト » OpenTextの戻り値は?

「Workbookオブジェクト」の記事一覧

検索


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

.