Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 06.08.2009, 16:38   #1
mephist
Форумчанин
 
Регистрация: 01.05.2009
Сообщений: 200
По умолчанию Выгрузка из текстовика

У меня есть такой вопросец:
хочу загружать макросом данные из текстовика на текущий лист. Имя текстовика знаю заранее.
Записал рекодером такой код:
Код:
    
    With ActiveSheet.QueryTables.Add(Connection:="TEXT; D:\File_List\File_List.txt", Destination:=Range("$A$1"))
        .Name = "File_List"
        .FieldNames = True
        .RowNumbers = False
        .FillAdjacentFormulas = False
        .PreserveFormatting = True
        .RefreshOnFileOpen = False
        .RefreshStyle = xlInsertDeleteCells
        .SavePassword = False
        .SaveData = True
        .AdjustColumnWidth = True
        .RefreshPeriod = 0
        .TextFilePromptOnRefresh = False
        .TextFilePlatform = 866
        .TextFileStartRow = 2
        .TextFileParseType = xlDelimited
        .TextFileTextQualifier = xlTextQualifierDoubleQuote
        .TextFileConsecutiveDelimiter = False
        .TextFileTabDelimiter = True
        .TextFileOtherDelimiter = "\"
        .TextFileColumnDataTypes = Array(2, 2, 2, 2, 2, 2)
        .TextFileTrailingMinusNumbers = True
        .Refresh BackgroundQuery:=False
    End With
Этот код работает как надо, но только мне хочется,чтобы данные подгружались из текущей папки, а не из D:\File_List\.
Пытался вместо
Код:
    With ActiveSheet.QueryTables.Add(Connection:="TEXT; D:\File_List\File_List.txt", Destination:=Range("$A$1"))
написать так
Код:
    Dim FileName As String
    FileName = Replace(ThisWorkbook.FullName, ThisWorkbook.Name, "File_List.txt")
    With ActiveSheet.QueryTables.Add(Connection:="TEXT; FileName", Destination:=Range("$A$1"))
и так
Код:
   With ActiveSheet.QueryTables.Add(Connection:="TEXT; ThisWorkbook.Path & \File_List.txt", Destination:=Range("$A$1"))
НЕ РАБОТАЕТ-не может найти файл.
Как быть? Когда я проверяю на F8, путь к файлу определятся верно, но файл не находит.
mephist вне форума Ответить с цитированием
Старый 06.08.2009, 16:47   #2
pivas
Форумчанин
 
Регистрация: 03.04.2009
Сообщений: 412
По умолчанию

А если попробовать так:
Код:
With ActiveSheet.QueryTables.Add(Connection:="TEXT;" & ThisWorkbook.Path & "\File_List.txt", Destination:=Range("$A$1"))
pivas вне форума Ответить с цитированием
Старый 06.08.2009, 17:25   #3
mephist
Форумчанин
 
Регистрация: 01.05.2009
Сообщений: 200
По умолчанию

В точку. Спасибо большое.
mephist вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Выгрузка в dbf файл span4 SQL, базы данных 4 04.06.2009 15:56
выгрузка длл user_jasser Win Api 6 10.03.2009 14:09
Выгрузка картинок в проект Rusl92 Общие вопросы Delphi 2 20.08.2008 23:00
выгрузка в файл zetrix БД в Delphi 0 30.10.2006 12:50