2

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

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

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

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

2 ответа2

2

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

Зайдите в Данные / Соединения, выберите ваше соединение, нажмите Свойства.

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

0
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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .