Visual Basic - PROBLEMA CON FICHERO DE TEXTO

Life is soft - evento anual de software empresarial
 
Vista:

PROBLEMA CON FICHERO DE TEXTO

Publicado por Julian (1 intervención) el 24/09/2004 16:54:12
Hola, necesito saber como puedo atacar un fichero de texto en formato .txt desde el visual basic.

Muchas gracias de antemano
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:PROBLEMA CON FICHERO DE TEXTO

Publicado por Ruri (583 intervenciones) el 24/09/2004 17:03:58
Julian: Lo mejor es escribir con el Scripting. Para utilizarlo tenés que agregar en las referencias (menú proyecto\referencias) al Microsoft
Scripting Runtime, Buscalo en la lista. Si no está utilizá el botón examinar y en System o System32 buscá scrrun.dll (viene con Internet explorer 5 o superior, es opcional en IE 4) se puede redistribuir sin problemas. En el ejemplo utilizo un data para levantar una base de datos y guardo dos campos en el archivo
("Nombre" y "Ubicación"). El ejemplo es el que sigue:

'#################################################
Option Explicit
DefLng A-Z

Private Sub Command1_Click()
'Objeto scripting
Dim fso As Scripting.FileSystemObject, TxtStm As
Scripting.TextStream
Set fso = New FileSystemObject
'Abre el archivo de texto, si no existe lo crea
Set TxtStm = fso.OpenTextFile("C:\x.txt",
ForAppending, True)
'Variables necesarias c1 as string, c2 as string
With Data1.Recordset
If .RecordCount < 1 Then GoTo Salida ' Me
deschabé, provengo de la época del QBasic
'Llena el recordset
.MoveLast
.MoveFirst
Dim k As Long, c1 As String, c2 As String
Const Separador As String = " " 'Yo
prefiero separar con tabulaciones (vbTab=CHR$(9))
For k = 1 To .RecordCount
c1 = String(20, " ") 'cadena con 20
espacios
c2 = String(255, " ") 'cadena con 255
espacios
LSet c1 = .Fields("Nombre").Value 'Alinea
el texto a la izquierda
LSet c2 = .Fields("Ubicacion").Value
'Alinea el texto a la izquierda
'Guarda la cadena en el archivo
TxtStm.WriteLine c1 & Separador & c2
'Busca el siguiente registro
.MoveNext
Next k
End With
Salida:
TxtStm.Close
Set TxtStm = Nothing
Set fso = Nothing

End Sub

'#################################################
Espero que te sea útil

Saludos Ruri
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar