VBAで閉じたExcelからデータを取得する方法
Posted at June 26,2015 2:55 AM
Tag:[]
Tag:[]
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つのブックから多くのデータを取得する場合は開いた方がパフォーマンスが良いかもしれません(間違っていたらすいません)。
Posted by yujiro このページの先頭に戻る
トラックバックURL
コメントする
greeting