Bueno yo no soy capaz de hacerlo, si alguien pudiera ponerme el codigo exacto le estaria muy agradecido.
tienes e opciones, o en vez de guardarlo en el list lo guardas en una cadena... cadena=cadena & vbnewline & laruta
o recorres el list una vez terminado el proceso de llenarlo y lo vas añadiendo a una cadena tambien o lo vas añadiendo directamente al fichero
respecto a utilizar archivos...
OPEN
Activa operaciones de entrada/salida (E/S) con un archivo.
Sintaxis
Open rutaacceso [For modo] [Access acceso] [bloquear] As [#]númeroarchivo [Len=longitudregistro]
La sintaxis de la instrucción Open consta las siguientes partes:
Parte Descripción
rutaacceso Requerido.Expresión de cadena que especifica un nombre de archivo; puede incluir el directorio o carpeta y la unidad de disco.
modo Requerido.Palabra clave que especifica el modo de archivo: Append, Binary, Input, Output o Random. Si no se especifica, el archivo se abre con acceso Random.
acceso Opcional. Palabra clave que especifica las operaciones permitidas en el archivo abierto: Read, Write o Read Write.
bloquear Opcional. Palabra clave que especifica las operaciones permitidas en el archivo abierto por otros procesos: Shared, Lock Read, Lock Write y Lock Read Write.
númeroarchivo Requerido. Unnúmero de archivo válido entre 1 y 511 inclusive. Para obtener el número del siguiente archivo disponible se utiliza la función FreeFile.
longitudregistro Opcional. Número igual o inferior a 32.767 bytes. En archivos abiertos para acceso aleatorio, este valor es la longitud del registro. Para archivos secuenciales, este valor es el número de caracteres almacenados en búfer.
Comentarios
Antes de poder ejecutar una operación de E/S en un archivo, éste debe estar abierto. Open asigna un búfer para operaciones de E/S con el archivo y determina el modo de acceso que se debe utilizar con el búfer.
Si el archivo especificado con rutaacceso no existe, se crea al abrir un archivo en los modos Append, Binary, Output o Random.
Si el archivo ya lo ha abierto otro proceso y no se permite el tipo de acceso especificado, la operación Open fracasa y se produce un error.
La cláusula Len se ignora si modo es Binary.
Importante En los modos Binary, Input y Random se puede abrir un archivo utilizando un número de archivo distinto sin necesidad de cerrarlo antes. En los modos Append y Output debe cerrar el archivo para poder abrirlo con un número de archivo distinto.
Aqui viene tu fallo no es printf es print
PRINT
Escribe en un archivo secuencial los datos con formato de presentación.
Sintaxis
Print #númeroarchivo, [listasalida]
La sintaxis de la instrucción Print # consta las siguientes partes:
Parte Descripción
númeroarchivo Requerido. Cualquiernúmero de archivo válido.
listasalida Opcional.Expresión o lista de expresiones para imprimir.
Valor
Elargumento listasalida tiene los valores siguientes:
[{Spc(n) | Tab[(n)]}][expresión][posicióncarácter]
Parte Descripción
Spc(n) Se utiliza para insertar caracteres de espacio en la salida, donde n es el número de caracteres de espacio para insertar.
Tab(n) Se utiliza para colocar el punto de inserción en una número de columna absoluta, donde n es el número de columna. Utilice Tab sin argumentos para colocar el punto de inserción al comienzo de la siguientezona de impresión.
expresión Expresión numérica oexpresión de cadena que se va a imprimir.
posicióncarácter Especifica el punto de inserción del carácter siguiente. Se utiliza un punto y coma (;) para especificar que el punto de inserción debe estar inmediatamente después del último carácter mostrado. Utilice Tab(n) para colocar el punto de inserción en un número de columna absoluta. Utilice Tab sin argumentos para colocar el punto de inserción al comienzo de la siguiente zona de impresión. Si se omite posicióncarácter, el siguiente carácter se imprime en la línea siguiente.
Comentarios
Los datos que se escriben en un archivo con Print # se leen normalmente con Line Input # o Input.
Si omite listasalida y sólo incluye un separador de listas después de númeroarchivo, se imprime una línea en blanco en el archivo. Se pueden separar varias expresiones por medio de un espacio en blanco o de un punto y coma.
En el caso de datos de tipoBoolean se imprime True o False. Las palabras clave True y False no se traducen, cualquiera que sea laconfiguración regional.
Los datos de tipoDate se escriben en el archivo utilizando el formato corto de fecha estándar reconocido por el sistema. Cuando no se pone el componente correspondiente a la fecha o a la hora, o éste es igual a cero, sólo se escribe en el archivo la parte suministrada.
No se escribe nada en el archivo si los datos de listasalida son de tipoEmpty. Sin embargo, si listasalida esNull, Null se escribe en el archivo.
Para datos de Error, la salida aparece como Error códigoerror. La palabra clave Error no se traducen, cualquiera que sea la configuración regional.
Todos los datos que se escriben en el archivo con Print # se adaptan regionalmente; es decir, se da formato al dato usando el separador decimal adecuado.
Puesto que Print # escribe una imagen de los datos en el archivo, debe delimitar los datos para que se impriman correctamente. Si utiliza Tab sin argumentos para mover la posición de impresión a la siguiente zona de impresión, Print # también escribe en el archivo los espacios entre campos de impresión.
Nota Si en el futuro desea leer datos de un archivo por medio de la instrucción Input #, utilice la instrucción Write # en vez de la instrucción Print # para escribir los datos en el archivo. La utilización de Write # asegura la integridad de cada campo de datos separado, al delimitarlo adecuadamente, de modo que se pueda leer otra vez utilizando Input #. La utilización de Write # asegura también que los datos se puedan leer correctamente en cualquier configuración regional.
CLOSE
Termina las operaciones de entrada/salida (E/S) en un archivo abierto con la instrucción Open.
Sintaxis
Close [listanúmerosarchivos]
Elargumento opcional listanúmerosarchivos puede estar constituido por uno o másnúmeros de archivo usando la siguiente sintaxis, donde númeroarchivo es cualquier número de archivo válido:
[[#]númeroarchivo] [, [#]númeroarchivo] . . .
Comentarios
Si omite listanúmerosarchivos, se cierran todos los archivos activos abiertos con la instrucción Open.
Cuando se cierran archivos que se abrieron para Output o Append, el búfer final de salida se graba en el búfer del sistema operativo que corresponde a ese archivo. Todo el espacio del búfer asociado con el archivo cerrado se libera.
Cuando se ejecuta la instrucción Close, la asociación de un archivo con su número de archivo termina.
Fuente: MSDN