Cree un archivo de texto utilizando el objeto del sistema de archivos:
Puede crear un archivo de texto usando el objeto del sistema de archivos usando el código a continuación.
Sub CreateTextFile()
Dim fs As Object
Dim stream As Object
Set fs = CreateObject("Scripting.FileSystemObject")
On Error GoTo fileexists
Set stream = fs.CreateTextFile("e:TextFile.txt", False, True)
fileexists:
If Err.Number = 58 Then
MsgBox "File already Exists"
'Your code here
Else
stream.Write ("No new line character inserted")
stream.WriteLine ("This will take the cursor to next line.")
stream.Close
End If
On Error GoTo 0
End Sub
La función CreateTextFile toma 3 argumentos.
Primero está el nombre del archivo junto con la ruta completa
Sobrescribir: el segundo argumento (opcional) indica si se puede sobrescribir un archivo existente. El valor es True si el archivo se puede sobrescribir; False si no se puede sobrescribir. El valor predeterminado es falso
Unicode: el tercer argumento (opcional) especifica si el archivo se creó como un archivo Unicode o ASCII. el valor es DÓNDE si el archivo se creó como un archivo Unicode; Falso si se creó como un archivo ASCII. El valor predeterminado es ASCII.
Ejemplo 1, escriba una línea de datos en un archivo de texto:
El siguiente ejemplo crea un archivo de texto en la ubicación "D:Temp" con el nombre "Test.txt" y escribe el valor en la celda A1 en la primera línea del archivo de texto:
Sub Example1()
Open "D:TempTest.txt" For Output As #1
Write #1, Cells(1, 1)
Close #1
End Sub
La primera línea comprueba si existe el archivo "D:TempTest.txt". Si se no creará un archivo llamado "Test.txt" en la ubicación "D:Temp". Si se está haciendo exist sobrescribirá el archivo.
Open "D:TempTest.txt" For Output As #1
En nuestro ejemplo, el archivo no existe, por lo que se crea un nuevo archivo:
Tiene 3 partes:
"D:PruebaTemporal.txt": Especifica la ruta completa del archivo.
Salida: especifica que este archivo está destinado a la escritura. Esto está en desacuerdo con el valor Aporte utilizado en el artículo Excel VBA, lectura de archivos de texto
#1: Puede ser cualquier número entre #1 y #511. Cualquier número que se elija aquí debe usarse en el resto del programa para hacer referencia a este archivo.
La siguiente línea imprime los datos de la celda A1 en la primera línea del archivo de texto:
Write #1, Cells(1, 1)
El contenido de la celda A1 se muestra a continuación:
La última línea de código cierra el archivo con la referencia #1:
Close #1
Si hubiéramos elegido un número diferente al abrir el archivo, deberíamos haber elegido el mismo número aquí al cerrar. Por ejemplo, digamos que decidimos usar el número #4. Deberíamos usar el #4 en todo el código:
Sub Example1()
Open "D:TempTest.txt" For Output As #4
Write #4, Cells(1, 1);
Close #4
End Sub
End Sub
El código anterior produce el mismo resultado que nuestro código original.
Recuerde siempre cerrar el archivo al final de su código. Cerrar el archivo hace lo siguiente:
Almacena los datos escritos en el archivo.
Esto permite que otros programas modifiquen el archivo.
Si el archivo no está cerrado, no puede volver a abrirlo con un índice numérico diferente.
Resultado final:
–
Ejemplo 2, escriba varias líneas de datos en un archivo de texto:
El siguiente ejemplo crea un archivo de texto con el nombre "Test.txt" en la ubicación "D:Temp" y escribe todos los datos en la columna A:
Sub Example2()
Dim flag As Boolean
Dim i As Integer
'open the file for writing
Open "D:TempTest.txt" For Output As #4
flag = True
i = 1
'keeps going until the end of the file is reacheed
While flag = True
'check if the current cell has data in it
If Cells(i, 1) <> "" Then
'write the data to the file
Write #4, Cells(i, 1)
'go to next cell
i = i + 1
Else
'if the last row has been reached exit the loop
flag = False
End If
Wend
'close the file
Close #4
End Sub
Los siguientes datos están escritos en la columna A:
Resultado:
–
Ejemplo 3, cuadro de diálogo Guardar archivo:
En el siguiente ejemplo, inicialmente se le pide al usuario que elija la ubicación para el archivo de texto de salida usando un cuadro de diálogo para guardar archivos. A continuación, se crea un archivo de texto y los datos de la columna A se imprimen en el archivo de texto. Consulte los siguientes enlaces para obtener más información sobre los cuadros de diálogo para guardar archivos:
Sub Example3()
Dim flag As Boolean
Dim i As Integer
Dim strPath As String
strPath = Application.GetSaveAsFilename(FileFilter:= _
"Text Files (*.txt), *.txt", Title:="Save Location")
If strPath <> "False" Then
'open the file for writing
Open strPath For Output As #4
flag = True
i = 1
'keeps going until the end of the file is reacheed
While flag = True
'check if the current cell has data in it
If Cells(i, 1) <> "" Then
'write the data to the file
Write #4, Cells(i, 1)
'go to next cell
i = i + 1
Else
'if the last row has been reached exit the loop
flag = False
End If
Wend
'close the file
Close #4
End If
End Sub
El código resaltado crea un cuadro de diálogo para guardar el archivo y solicita al usuario que seleccione una ubicación para guardar el archivo:
El resultado final es similar a los ejemplos anteriores.
Sub Example4()
Dim flag As Boolean
Dim i As Integer
Dim strPath As String
On Error GoTo lblError:
strPath = Application.GetSaveAsFilename(FileFilter:= _
"Text Files (*.txt), *.txt", Title:="Save Location")
If strPath <> "False" Then
'open the file for writing
Open strPath For Output As #4
flag = True
i = 1
'keeps going until the end of the file is reached
While flag = True
'check if the current cell has data in it
If Cells(i, 1) <> "" Then
'write the data to the file
Write #4, Cells(i, 1)
'go to next cell
i = i + 1
Else
'if the last row has been reached exit the loop
flag = False
End If
Wend
'close the file
Close #4
End If
Exit Sub
lblError:
Err.Clear
Fin sub
Ejemplo 5, utilice la función de impresión en el modo de adición:
Los ejemplos discutidos hasta ahora reescriben el archivo existente. Ahora veamos cómo abrir un archivo en modo anexar. Aquí usaremos la función de impresión para escribir en el archivo. La diferencia es que el texto no está entre comillas dobles.
Si necesita ayuda con su código, o si está buscando un programador de VBA para contratar, no dude en ponerse en contacto conmigo. Visite también mi sitio web www.software-solutions-online.com
La creación de redes es la almohadilla de la comunicación, la transferencia de datos e Internet tal como lo tenemos hoy. Muchos de los servicios que utiliza en Internet se basan en conceptos como puertos y puntos de liquidación. Aunque un puerto y un zócalo tienen funciones similares, son conceptos muy diferentes. ¿Qué es una…
¿Tiene una computadora con Windows 11 que le da el código de error 0x0 0x0? No te preocupes, no estás solo. Este es un problema común experimentado por muchos usuarios de Windows y podría deberse a varias razones. Entonces, ¿qué es el código de error 0x0 0x0 en Windows 11, por qué sucede y cómo…
Linux tiene una variedad de sistemas operativos con diferentes características y funcionalidades. puedes usar distribuciones de Linux en varios hardware fabricados por IBM, Intel, HP, SPARC, etc. Ya sea que sea un desarrollador o un editor de video, Linux tiene mucho que ofrecer a todos. En Linux, puede realizar tareas preparadas o incluso crear poco…
Para que pueda recuperar fácilmente sus datos cuando sea necesario. Si desea cambiar su teléfono o hacer un restablecimiento de fábrica, debe hacer una copia de seguridad de sus mensajes de WhatsApp, entre otras cosas. Incluso necesitarás una copia de seguridad en caso de que decidas reinstalar WhatsApp. La buena noticia es que WhatsApp tiene…
Todos sabemos la importancia de ver claramente los datos en nuestras hojas de cálculo. Considero que la funcionalidad para hacer zoom en una parte específica del conjunto de datos en Excel es bastante útil cuando solía presentar mi trabajo en llamadas y reuniones. Una vez que sepa cómo acercar o alejar en Excel, solo necesita…
Excel tiene algunas características verdaderamente enseres que pueden ayudarlo a ser mucho más valioso en su trabajo diario. Una de las tareas comunes que muchas personas tienen que hacer es comparar datos en la misma hoja. Esto es especialmente útil para las personas que trabajan con grandes cantidades de datos que requieren mucho movimiento de…