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
Cuando trabaje con fechas en Excel, es posible que deba completar una columna solo con fechas que coincidan con un día de la semana. Esto suele ser necesario cuando se crea un plan de proyecto, en el que solo se pueden usar las fechas de los días de semana y las fechas de los fines…
¿Has oído hablar de las opciones de carpeta de Windows? Estas increíbles funciones facilitan la configuración de varias configuraciones del Explorador de archivos. Pero, ¿cómo accede a las opciones de la carpeta de Windows en primer lugar? Este artículo explora las formas más fáciles de acceder a las opciones de carpeta en Windows 10. Pero…
Escribí este artículo con el fin de ayudarte a cambiar idioma del teclado en Windows 10. Es fácil después de leer el post. Incluso te explicaré como hacer el cambio de idioma con atajos del teclado. El idioma predeterminado del teclado; depende la ubicación geográfica. El idioma del teclado en Windows viene configurado según la…
Hoy Apple es un nombre abierto. Todo el mundo conoce productos como el iPod, el iPhone y el Mac. Si no posee un producto Apple, probablemente conozca a algún que sí lo tenga. Pero el éxito de Apple no llegó de la sombra a la mañana. Las innovaciones que cambiaron el articulación, como el iPod…
JavaScript es, con mucho, el lenguaje más popular cuando se trata de desarrollo web y potencia la mayoría de los sitios web y aplicaciones web. javascript no solo se usa en el lado del cliente (con HTML y CSS), sino que también es compatible con el lado del servidor (construido con Nodejs). Hoy en día,…
¿Cansado de navegar por carpetas y buscar manualmente tus videos? ¿Está buscando formas rápidas de encontrar todos los archivos de video en su dispositivo Windows? Entonces has venido al lugar correcto. Le mostraremos cómo usar la barra de búsqueda del Explorador de archivos y algunos filtros para buscar solo videos. A partir de ahí, veremos…