SOLUCIONADO
El problema estaba en la cadena de conexión. Pongo el código válido:
Código ASP:
Ver original<html>
<head>
<title>Recoge valores de celdas Excel</title>
</head>
<body style="font-family: Arial; font-size: 9pt">
<%
dim ConnectDBQ,rs,dbc
Set dbc = Server.CreateObject("ADODB.Connection")
'Cadenas de conexión que mejor no usar:
'ConnectDBQ="DRIVER={Microsoft Excel Driver (*.xls)}; DBQ=" & server.mappath("ASP2.xls")
'ConnectDBQ= "DRIVER={Microsoft Excel Driver (*.xls)}; IMEX=1; HDR=no; Excel 8.0; DBQ=" & Server.MapPath("ASP2.xls") & "; "
'Vale tanto para Xls como Xlsx
ConnectDBQ = _
"Provider=Microsoft.ACE.OLEDB.12.0;" & _
"Extended Properties='Excel 12.0 Xml;HDR=yes;IMEX=1';" & _
"Data Source=" & Server.MapPath("ASP.xls")
dbc.Open ConnectDBQ
Set rs=Server.CreateObject("ADODB.RecordSet")
rs.open "select * from [Hoja1$]",dbc,3,3
%>
<table Border='1px'>
<tr>
<%
For I = 0 To 3
response.write "<td>" & rs.Fields.Item(I).Name & "</td>"
Next
%>
</tr>
<%
do while not rs.eof
%>
<tr>
<%
For I = 0 To 3
response.write "<td>" & rs.fields(I).value & "</td>"
Next
%>
</tr>
<%
rs.movenext
loop
rs.close
%>
</table>
</body>
</html>