![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 13.07.2011
Сообщений: 18
|
![]()
Есть программа
Sub Test1() Open "C:\Text.LOG" For Input As #1 Dim s As String, c As Range Set c = Range("A1") 'первая ячейка While Not EOF(1) Input #1, s c = s Set c = c(2) Wend Close #1 End Sub но она немного зависает, не может ли это быть связано с расширением файла Text.LOG? Последний раз редактировалось Алекс7; 18.07.2011 в 08:22. |
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 31.12.2010
Сообщений: 2,133
|
![]()
С расширением - нет, с длиной файла - да
![]() Попробуйте Данные - Получить внешние данные - Из текста, запишите это действие в макрос.
exceleved@yandex.ru Яндекс.Деньги: 410011500007619
|
![]() |
![]() |
![]() |
#3 |
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,858
|
![]()
Ну или можете открыть этот файл при помощи Excel - командами Workbooks.Open или Workbooks.OpenText
Тоже макрос несложный получится |
![]() |
![]() |
![]() |
#4 |
Старожил
Регистрация: 31.12.2010
Сообщений: 2,133
|
![]()
Или так - сначала в массив, потом на лист:
Код:
exceleved@yandex.ru Яндекс.Деньги: 410011500007619
|
![]() |
![]() |
![]() |
#5 |
Форумчанин
Регистрация: 25.04.2010
Сообщений: 616
|
![]()
Еще вариантик:
Код:
|
![]() |
![]() |
![]() |
#6 |
Старожил
Регистрация: 31.12.2010
Сообщений: 2,133
|
![]()
Поэкспериментировал с файлом 912 кб ( http://forum.ixbt.com/topic.cgi?id=23:41951#13 ). Время в секундах:
Исходный макрос: 2,08 Через массив: 0,27 nilem: 0,36 данные - Из текста: 1,06 Workbooks.OpenText: 0,56 Workbooks.Open: 0,28
exceleved@yandex.ru Яндекс.Деньги: 410011500007619
|
![]() |
![]() |
![]() |
#7 | |
Форумчанин
Регистрация: 07.03.2010
Сообщений: 796
|
![]() Цитата:
Код:
Логика?!.... она где то рядом... E_mail: dg_rusak@mail.ru Если спасибо мало: Яндекс . Деньги - 41001731366021 WM R269866874234
|
|
![]() |
![]() |
![]() |
#8 |
Форумчанин
Регистрация: 07.03.2010
Сообщений: 796
|
![]()
хотя похоже что будет долго
![]()
Логика?!.... она где то рядом... E_mail: dg_rusak@mail.ru Если спасибо мало: Яндекс . Деньги - 41001731366021 WM R269866874234
|
![]() |
![]() |
![]() |
#9 |
Старожил
Регистрация: 31.12.2010
Сообщений: 2,133
|
![]()
Дмитрий,
не получается вставить путь к файлу - ошибка в команде cn.Open: Строка 'c:\temp\File14.txt' задает ошибочный путь Пробовал и в апострофах, и в кавычках. Как составить правильную команду?
exceleved@yandex.ru Яндекс.Деньги: 410011500007619
|
![]() |
![]() |
![]() |
#10 | |
Форумчанин
Регистрация: 07.03.2010
Сообщений: 796
|
![]() Цитата:
![]() я там чуть неправильно написал "Data Source=c:\temp\;Extended Properties='text;HDR=No'" ' полный путь к файлу, правильно к папке ![]() а в selecte указываем файл как таблицу просто его имя File14.txt Set rs = cn.Execute("SELECT * FROM File14.txt") но при таком подходе все считывает довольно быстро, но автоматом разбивает на столбцы, поэтому медленно получается в Ваших вариантах один столбец а в моем 19 ![]() копался в MSDN так и не нашел параметр который устанавливает разделитель по столбцам в ADO ![]()
Логика?!.... она где то рядом... E_mail: dg_rusak@mail.ru Если спасибо мало: Яндекс . Деньги - 41001731366021 WM R269866874234
|
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Создание log файла в сервисе | nikcpp | Общие вопросы Delphi | 9 | 26.04.2011 19:49 |
как считать с текстового файла? | denim1 | Помощь студентам | 2 | 16.05.2010 15:06 |
как считать из файла строки | LOST94 | Общие вопросы C/C++ | 8 | 24.03.2010 20:54 |
Помогите с обработкой LOG файла | Dark_KRONOS | Помощь студентам | 13 | 15.01.2010 15:19 |
Как считать массив из файла? | Ronin021992 | Общие вопросы C/C++ | 4 | 16.12.2009 20:44 |