Omitir la confirmación de selección de archivos de Excel para la conexión de datos con un archivo de texto que no sea .txt

Omitir la confirmación de selección de archivos de Excel para la conexión de datos con un archivo de texto que no sea .txt

Tengo un libro de Excel que procesa la salida del modelo de otro programa. Ese programa produce archivos de salida de texto plano delimitados por espacios con un".plt"extensión. Tengo una conexión de datos en Excel para ingresar esos datos, pero requiere más clics de los que me gustaría. Actualmente el flujo de trabajo es este:

  1. Ejecute otro modelo.
  2. En Excel, haga clic en Datos->Actualizar todo
  3. En el cuadro de diálogo de archivo que se abre, haga clic en"Archivos de texto (*.prn, *.txt, *.csv)"
  4. Aparece el menú desplegable; haga clic en:"Todos los archivos (*.*)".
  5. Seleccione el nombre del archivo de la lista (el nombre del archivo nunca cambia - Siempre"Salida.plt")
  6. Seleccionar"Importar."

Desde aquí, recuerda todas las configuraciones para la conexión de datos: ubicaciones, texto en columnas, etc. Sin embargo, dado que el nombre de mi archivo nunca cambia, desearía que recordara el nombre de mi archivo, así solo tendría uno o dos. clics, en lugar de 5.

Intenté grabar una macro, siguiendo todos estos pasos, pero la única pieza que apareció en VBA esActiveWorkbook.RefreshAll

Respuesta1

Hay una opción para solicitar el nombre del archivo.

Vaya a Datos/Conexiones, elija su conexión, haga clic en propiedades.

En la sección de control de actualización, en la pestaña Uso, desmarque la casilla "solicitar nombre de archivo al actualizar".

Respuesta2

Dim File_Path As String
File_path=" C:\Users\owner\John\Output.plt"
Open File_Path for Input as #1
row_num= 5
Do until EOF(1)
Line Input #1, Line_FromFile
Line_Items = Split(Line_FromFile, ",")
Range("C"&row_num).Value = Line_Items(2)
Range("B"&row_num).Value = Line_Items(1)
Range("A"&row_num).Value = Line_Items(0)
row_num = row_num + 1
Loop
Close #1

información relacionada