Excel - Abrir un fichero de texto y copiar el contenido a través de una macro.

Asked By frank69 on 01-Apr-12 06:24 PM
? Hola !
Quisiera saber si desde excel, a trav?s de una macro, se puede abrir un
fichero (y no s? el nombre y que cada vez ser? diferente) con el
bloc de notas, seleccionar todo lo que hay (Seleccionar todo), copiar, cerrar
el
bloc de notas y pegar en excel, a partir de una celda concreta.

Muchas gracias, por anticipado.


Emilio replied to frank69 on 02-Apr-12 12:55 PM
--------------------------------------------------------------------------
?Importante!: Colabora con el grupo.Contesta a este mensaje y dinos si te
sirvi? o no la respuesta dada. Muchas gracias
--------------------------------------------------------------------------
Hola!
?Y para que quieres el bloc de notas?, office incorpora herramientas para
leer archivos de texto sin necesidad de terceros.

Consulta la ayuda de Open (office)

Saludos a todos desde Huelva

Emilio [MS-MVP Access 2006/11]
miliuco56 ALGARROBA hotmail PUNTO com
http://www.mvp-access.com/foro
http://www.mvp-access.es/emilio


__________ Information from ESET Smart Security, version of virus signature database 7020 (20120402) __________

The message was checked by ESET Smart Security.

http://www.eset.com
Pedro F. Pardo replied to frank69 on 02-Apr-12 07:12 AM
El domingo 1 de abril de 2012 23:24:41 UTC+1, frank69  escribi=F3:
n
errar

La siguiente macro copia el contenido del fichero test.txt que est=E1 en C:=
\
y lo pega en la celda D5. Aunque lo copia TODO dentro de la misma celda, Si=
quieres que vaya pegando l=EDnea a l=EDnea puedes manipular la cadena de t=
exto donde est=E1 almacenado el texto. O separar por columnas o lo que nece=
sites, eso depende del contenido del fichero o el formato en el que est=E9.


Sub copia_y_pega()
Open "C:\test.txt" For Input As #1
contenido =3D Input(LOF(1), #1)
Range("D5").Value =3D contenido

End Sub
Pedro F. Pardo replied to frank69 on 02-Apr-12 07:19 AM
OPS

Antes le di a enviar antes de tiempo =AC_=AC

Esta versi=F3n mejorada de la macro va pegando las lineas una en cada celda=
,
una debajo de otra...

Sub copia_y_pega()
Open "C:\test.txt" For Input As #1
contenido =3D Input(LOF(1), #1)
linea =3D Split(contenido, Chr(13))
For i =3D 0 To UBound(linea)
Range("D" & 5 + i).Value =3D linea(i)
Next i
Close #1
End Sub
Pedro F. Pardo replied to Pedro F. Pardo on 02-Apr-12 07:54 AM
El lunes 2 de abril de 2012 12:12:23 UTC+1, Pedro F. Pardo  escribi=F3:
un
cerrar
C:\
Si quieres que vaya pegando l=EDnea a l=EDnea puedes manipular la cadena de=
texto donde est=E1 almacenado el texto. O separar por columnas o lo que ne=
cesites, eso depende del contenido del fichero o el formato en el que est=
=E9.

Olvid=E9 cerrar el fichero con "Close #1" al final, Es importante cerrarlo =
porque si te lo dejas abierto despu=E9s te da error al intentar abrirlo des=
de otro sitio ;-)