Looks like you already have it sorted. I will make a few minor suggestions to tidy it up a bit
1. Why redim the array if you already know how many slots
Code:
Dim arrData(287) As String
2. I'm surprised the workbook opens in the same Excel application instance but it seems a little haphazard to rely on it always being the second workbook. Is it worth exploring whether it is possible to be more explicit about which workbook is oWB?
Code:
Set oWB = oILS.OLEFormat.Object 'does this work
3. You can avoid the Select Case complexity if you make use of the worksheet function to return an empty string on errored formulas
Code:
For lngRow = 1 To lngRows
arrData(lngRow) = WorksheetFunction.IfError(Cells(lngRow, lngCol), "")
Next lngRow