Обход подтверждения выбора файла Excel для подключения к данным с текстовым файлом, отличным от .txt

Обход подтверждения выбора файла Excel для подключения к данным с текстовым файлом, отличным от .txt

У меня есть книга Excel, которая обрабатывает выходные данные модели из другой программы. Эта программа создает файлы выходных данных в виде простого текста с разделителями-пробелами и".plt"расширение. У меня есть подключение к данным в Excel, чтобы вводить эти данные, но это требует больше щелчков, чем мне бы хотелось. В настоящее время рабочий процесс такой:

  1. Запустите другую модель.
  2. В Excel нажмите Данные->Обновить все.
  3. В открывшемся диалоговом окне файла нажмите на«Текстовые файлы (*.prn, *.txt, *.csv)»
  4. Появится раскрывающееся меню — нажмите:"Все файлы (*.*)".
  5. Выберите имя файла из списка (имя файла никогда не меняется - Всегда)"Выход.plt")
  6. Выбирать"Импорт."

Отсюда он запоминает все настройки для подключения к данным — местоположения, текст в столбцах и т. д. Однако, поскольку имя моего файла никогда не меняется, я бы хотел, чтобы он запомнил имя моего файла, тогда мне пришлось бы делать всего один или два щелчка вместо пяти.

Я попытался записать макрос, пройдя все эти шаги, но единственный фрагмент, который появился в VBA, этоActiveWorkbook.RefreshAll

решение1

Есть возможность запросить имя файла.

Перейдите в раздел Данные / Подключения, выберите свое подключение, нажмите «Свойства».

В разделе «Управление обновлением» на вкладке «Использование» снимите флажок «Запрашивать имя файла при обновлении».

решение2

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

Связанный контент