132 / 15 / 2
Регистрация: 27.11.2013
Сообщений: 509
|
|
1 | |
Как открыть текстовый файл с пом функции CreateObject11.02.2018, 16:27. Показов 2873. Ответов 19
Метки нет (Все метки)
Есть файл. Путь C:\Sample\Sample.txt. Хотелось бы открыть его с пом функции CreateObject в файле Книга1.xlsm. Хотелось бы примерчик простенький.
0
|
11.02.2018, 16:27 | |
Ответы с готовыми решениями:
19
Как открыть текстовый файл? Как открыть текстовый файл Как открыть текстовый файл Как открыть текстовый файл? |
6922 / 2832 / 543
Регистрация: 19.10.2012
Сообщений: 8,645
|
||||||
11.02.2018, 16:41 | 2 | |||||
Не моё:
1
|
35 / 32 / 15
Регистрация: 23.12.2014
Сообщений: 97
|
||||||
11.02.2018, 16:55 | 3 | |||||
To shavka, для этого Ваш файл Samle.txt должен содержать объект ActiveX, иметь конструктор внутри и ... называться Samle.dll... ,
а для текстового файла:
1
|
132 / 15 / 2
Регистрация: 27.11.2013
Сообщений: 509
|
|
11.02.2018, 17:36 [ТС] | 4 |
AlexSmel,
чет как-то страшно. Не, это обычный текст файл без всяких длл. А как его перенести на лист Эксель?
0
|
6922 / 2832 / 543
Регистрация: 19.10.2012
Сообщений: 8,645
|
|
11.02.2018, 17:42 | 5 |
- после того, как отработает мастер импорта данных из текста, удалить этот текстовый файл - всё, данные перенесены!
Только CreateObject для этого вообще не нужен.
1
|
132 / 15 / 2
Регистрация: 27.11.2013
Сообщений: 509
|
|
11.02.2018, 17:50 [ТС] | 6 |
Hugo121,
Почему? Есть более подходящие методы? Добавлено через 6 минут AlexSmel, а у вас там в первой строчке не ошибка ли? as String в названии макроса в конце? Если убрать, то вба запрашивает имя макроса, а если оставить, вообще ничего не понимает
0
|
6922 / 2832 / 543
Регистрация: 19.10.2012
Сообщений: 8,645
|
|
11.02.2018, 18:02 | 7 |
Если убрать, то нужно задавать имя файла в параметре, хоть он в коде и не используется
0
|
132 / 15 / 2
Регистрация: 27.11.2013
Сообщений: 509
|
|
11.02.2018, 18:05 [ТС] | 8 |
Hugo121, ну не знаю, вба не пускает, пишет - ошибка.
0
|
35 / 32 / 15
Регистрация: 23.12.2014
Сообщений: 97
|
||||||
11.02.2018, 18:18 | 9 | |||||
Конечно, ошибка! Если Вы внимательно взглянете, то мой пример - это "недопеределка" функции Hugo121 (видимо, у нас попался один источник ) в процедуру, т.е. ее действительно можно вызвать и как макрос, и как процедуру, если Вы перепишете ее вот так
Простите меня, я неудачно сыронизировал ...
1
|
11508 / 3794 / 681
Регистрация: 13.02.2009
Сообщений: 11,197
|
|
11.02.2018, 19:13 | 10 |
shavka,
Добавлено через 2 минуты А я скажу, что всё пускает и ошибки не пишет! Поверишь? Вот я не верю! Файл с попытками покажи
1
|
132 / 15 / 2
Регистрация: 27.11.2013
Сообщений: 509
|
||||||
11.02.2018, 19:19 [ТС] | 11 | |||||
Alex77755,
в строку надо вывести, или как его там выводят. А дальше то по столбцам я и сам могу. ехать конечно. Но я пришел к выводу, мож и ошибочно, что CreateObject самый быстрый и наименее памятозатратный.
0
|
11508 / 3794 / 681
Регистрация: 13.02.2009
Сообщений: 11,197
|
|
11.02.2018, 19:20 | 12 |
всё работает без переделок.
0
|
11508 / 3794 / 681
Регистрация: 13.02.2009
Сообщений: 11,197
|
|
11.02.2018, 19:29 | 13 |
Добавлено через 7 минут достаточно почитать справку:
1
|
132 / 15 / 2
Регистрация: 27.11.2013
Сообщений: 509
|
||||||||||||||||
11.02.2018, 19:43 [ТС] | 14 | |||||||||||||||
Alex77755,
а, таки вы про фунцию! Не, с функциями я как-то не привык. Вы бы мне лучше подсказали, как вместо
0
|
11508 / 3794 / 681
Регистрация: 13.02.2009
Сообщений: 11,197
|
|
11.02.2018, 19:55 | 15 |
Функцию можно вызвать и из процедуры!!!
1
|
35 / 32 / 15
Регистрация: 23.12.2014
Сообщений: 97
|
|
11.02.2018, 22:25 | 16 |
Сообщение было отмечено shavka как решение
Решение
1
|
132 / 15 / 2
Регистрация: 27.11.2013
Сообщений: 509
|
|
12.02.2018, 00:03 [ТС] | 17 |
AlexSmel, спасиббалшой, пошел процесс!
0
|
6922 / 2832 / 543
Регистрация: 19.10.2012
Сообщений: 8,645
|
||||||
12.02.2018, 00:11 | 18 | |||||
Сообщение было отмечено shavka как решение
Решение
Имхо демонстрация применения функции в #15 как-то красивее чтоль.
Но можно проще:
Ну раз уж ничего разбивать по строкам/столбцам не нужно
0
|
132 / 15 / 2
Регистрация: 27.11.2013
Сообщений: 509
|
|
12.02.2018, 02:08 [ТС] | 19 |
Hugo121, аднака красиво. И лаконично. Я дальше просто циклом по столбцам раскидывают. Правильно? Или есть что-то еще более продвинутое?
0
|
6922 / 2832 / 543
Регистрация: 19.10.2012
Сообщений: 8,645
|
|
12.02.2018, 09:55 | 20 |
Да можно сразу в памяти всё что считали из файла раскидать как нужно в массив, его выгрузить на лист - будет не особо сложный код, и быстро отработает.
Но это конечно если файл не сотни мегабайт - правда такой и в ячейку вероятно не влезет... хотя не пробовал Если файл огромный и сразу весь в массив не лезет или лезет слишком долго - можно считывать построчно, каждую строку сразу в памяти разбивать в массив и его выгружать на лист. Или собирать массив на сотню/тысячу строк, выгружать - т.е. обрабатывать частями.
1
|
12.02.2018, 09:55 | |
12.02.2018, 09:55 | |
Помогаю со студенческими работами здесь
20
Как открыть текстовый файл ? Как открыть текстовый файл Как открыть текстовый файл в с++ Как открыть текстовый файл в textedit Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |