Excel4Macroを使用してブックを開かずに中身を取得します。
開いて確認する場合より最大で1桁程度早くデータを取得できますが、複数のセルを確認する場合は素直に開いてください。
以下のモジュールをどこかしらに置いてください。
Public Function GetInBookValue(filePath$, sheetName$, r1C1Str$)
Dim reverseName$: reverseName = StrReverse(filePath)
Dim fileNameLenth&: fileNameLenth = InStr(reverseName, "\") - 1
Dim folderPath$: folderPath = Left(filePath, Len(filePath) - fileNameLenth)
Dim fileName$: fileName = StrReverse(Left(reverseName, fileNameLenth))
Dim arg$: arg = "'" & folderPath & "[" & fileName & "]" & sheetName & "'!" & r1C1Str
On Error Resume Next
'関数失敗時はemptyが返されます。
GetInBookValue = ExecuteExcel4Macro(arg)
On Error GoTo 0
End Function
使用例
Sub sample()
debug.print GetInBookValue("C:\hoge.xlsx", "Sheet1", "R1C1")
End Sub
セルの指定はR1C1方式でないと対応していません(たぶん)
当方は工場でのデータ管理をしているのですが、特定フォーマットで所定の場所に保管されているファイルを条件分岐で処理する場合などにまあまあ便利に使えてます。
そういう場合過去に書いたこういう所定のフォルダ以下のファイル(サブフォルダ有/無)リストを返す関数を作っておくと便利です。
https://qiita.com/es2/items/eeb3a02891ff50b6dabc