トップページへ

VBAで閉じたExcelからデータを取得する方法

小粋空間 » Programming Language » VB/VBA » VBAで閉じたExcelからデータを取得する方法

VBAで閉じたExcelからデータを取得する方法を紹介します。

1.問題点

VBAは基本的に開いているExcelに対して処理を実行しますが、別のブックからデータを取得するときに、Excelを開かずに実行する方が効率がいいような気がします。

が、Excelを開かずにデータを取得する方法が分かりません。

2.Excelを開かずにデータを取得する

Excelを開かずにデータを取得するにはExecuteExcel4Macroという関数を実行します。

まず、開かない方のExcelのA1セルに次のように「foo」というデータを設定して、Cドライブ直下に"test.xls"という名前で保存します。

次に、VBAを実行するExcelの標準モジュールに次のコードを記述します。

Sub test()
    MsgBox ExecuteExcel4Macro("'C:\[test.xls]Sheet1'!R1C1")
End Sub

設定イメージ

このコードを実行すれば次のように「foo」という表示結果を得られます。

3.注意事項

存在しないブックやシートを指定するとエラーになります。

またブックを開かない処理ですが、データの取得にはそれなりの時間がかかります。

1つのブックから多くのデータを取得する場合は開いた方がパフォーマンスが良いかもしれません(間違っていたらすいません)。

« 前の記事へ

次の記事へ »

トップページへ