Respondiendo a tu primer cuestionamiento, sobre el que hace la siguiente línea de código:
Código:
ap.Workbooks(1).Worksheets.Select
La anterior línea de código es seleccionar el libro de trabajo indexado con el número uno, en el caso del segmento de código que pones, no es necesario, ya que solo se abre un solo libre, esta línea tendría sentido si hubiesemos abierto dos o mas libros de excel.
Y respecto a la segunda no imagino, el porque te este haciendo eso ya que probe el código tal como lo pusiste y me imprime solo la primera celda, no toda la línea
Si deseas más información sobre manipular libros de excel en VB te recomiendo desgarges el manual de Automatización OLE que podras encontra en la siguiente página:
http://www.telecable.es/personales/j...s/tip00280.htm
Tambien trae información sobre Word, Acces, Power Point, etc.