I'm having some difficulty in following your code at certain points, so let's deal with it component by component.
First, setting the references to the Excel objects.
Code:
Dim filePath As String
Dim xl As Excel.Application
Dim xlBook As Excel.Workbook
Dim xlSheet As Excel.Worksheet
On Error GoTo excelopenmsg_Error
filePath = "U:\Enrollment\Public\NEWBORN\" & strFileName & " " & Format(Now, "YYYY-MM-DD") & ".xls"
On Error Resume Next
Set xl = GetObject(, "Excel.Application")
Select Case Err.Number
Case 0
On Error GoTo excelopenmsg_Error
Case 429
On Error GoTo excelopenmsg_Error
Set xl = CreateObject("Excel.Application")
Case Else
GoTo excelopenmsg_Error
End Select
Your code is missing the statements highlighted in red above.
There is another function associated with the GetObject command. If you are confident that the spreadsheet already exists then the above may be simplified.
Code:
Dim filePath As String
Dim xlBook As Excel.Workbook
Dim xlSheet As Excel.Worksheet
On Error GoTo excelopenmsg_Error
filePath = "U:\Enrollment\Public\NEWBORN\" & strFileName & " " & Format(Now, "YYYY-MM-DD") & ".xls"
Set xlBook = GetObject(filePath)
Note that the need to specify an object reference for Excel itself is eliminated. OK, you may need it later on but it may be derived from xlBook. GetObject will open the file in the application associated with the extension, '.xls' which in most cases is Excel. (You can force the application - read up on GetObject.)
I would recommend the first method above when you are creating new spreadsheets and the second method when the spreadsheet already exists.
Let me know which way you choose and we'll take it from there.