|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
20.08.2010, 10:28 | #1 |
Регистрация: 20.08.2010
Сообщений: 6
|
Экспорт в последнюю строчку файла .txt
Проблема такая. Есть файл txt, в нем лежит текст. Нужно экспортировать данные из ячейки экселя, чтобы они записались под этим текстом, то есть в последнюю пустую строчку. Это еще не все В экселе есть индикатор, (там в ячейке -1,0,1), и нужно чтобы процесс дописывания был после изменения этого индикатора (при изменении индикатора изменяется текст дописывания). Или последнее можно заменить - при изменении текста в ячейки, чтобы этот текст дописывался в txt файл.
Из моих идей по реализации: Копировать данные из txt в эксель в одну ячейку (как это кстати? я научился копировать по строчкам), там совместить с текстом, который надо дописать в файл, потом это все пиисать в txt файл. Это только идея.... |
20.08.2010, 11:04 | #2 |
Старожил
Регистрация: 11.05.2010
Сообщений: 5,166
|
Пример кода vbs, можно использовать в макросе.
Код:
webmoney: E265281470651 Z422237915069 R418926282008
|
20.08.2010, 11:56 | #3 |
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,856
|
Из описания задачи ничего не понял.
Где примеры файлов? Функции для чтения\записи из текстовых файлов можно найти здесь: http://excelvba.ru/code/txt Для дописывания прдназначена функция AddIntoTXTfile |
20.08.2010, 11:57 | #4 |
Регистрация: 20.08.2010
Сообщений: 6
|
Отлично, осталось только понять, как производить эту операцию при условии
Если буду писать постоянно, то он разбухнет очень сильно |
20.08.2010, 12:03 | #5 |
Регистрация: 20.08.2010
Сообщений: 6
|
Примеры файлов:
Например у нас в txt файле написано: 111 222 333 А в ячейке экселя например в B4 стоит: 444 Макрос срабатывает так, что если B4 изменить на :555 (срабатывает только на изменение). То в файл бы дописывалась эта 555 и получалось: 111 222 333 555 Пытался объяснить как можно проще |
20.08.2010, 12:09 | #6 |
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,856
|
Я правильно понял, что ЛЮБУЮ изменённую ячейку надо дописывать в текстовый файл?
Или это верно только для ячеек какого-то выбранного диапазона? Дописывать ли значение, если в TXT-файле уже есть такая строка? Где на компе макрос должен искать текстовый файл? Как этот файл называется? Макрос-то из двух строк, если использовать функцию AddIntoTXTfile Но получите вы его, когда опишите все нюансы - что и как должно работать. |
20.08.2010, 12:13 | #7 |
Регистрация: 20.08.2010
Сообщений: 6
|
Нет, только определенную ячейку (в нашел случае B4).
Нет, не дописывать. (хотя в моём случае не так существенно, но лучше не дописывать). Файл, допустим: E:\МойФайл.txt |
23.08.2010, 13:12 | #8 |
Регистрация: 20.08.2010
Сообщений: 6
|
Получается такое:
Dim FSO, TS Sub Экспорт() AddIntoTXTfile "E:\МойФайл.txt", [b4] ' сохраняем в текстовый файл содержимое ячейки B4 След = Now + TimeValue("00:01:00") Application.OnTime След, "Экспорт" End Sub Function AddIntoTXTfile(ByVal filename As String, ByVal txt As String) As Boolean On Error Resume Next: Err.Clear Set FSO = CreateObject("scripting.filesystemo bject") Set TS = FSO.OpenTextFile(filename, 8, True): TS.Write txt: TS.Close Set TS = Nothing: Set FSO = Nothing AddIntoTXTfile = Err = 0 End Function Но проблема в том, что AddIntoTXTfile все пишет в одну строку, а надо чтобы в нову строчку записывало. Как я понимаю нужно кудато впихнуть Do While ts.AtEndOfStream <> True s = CStr(ts.ReadLine()) sFS = sFS & s & vbCrLf Loop И писать уже sFS. Но вот куда... |
23.08.2010, 13:41 | #9 |
Старожил
Регистрация: 11.05.2010
Сообщений: 5,166
|
Попробуйте
Код:
Код:
TS.Write на TS.WriteLine
webmoney: E265281470651 Z422237915069 R418926282008
Последний раз редактировалось Hugo121; 23.08.2010 в 13:44. |
23.08.2010, 13:59 | #10 |
Регистрация: 20.08.2010
Сообщений: 6
|
Отлично, получилось. Осталось понять как сделать так чтобы не писался текст который уже есть в txt файле
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
импорт из txt, работа с массивом данных, экспорт в txt | Danara | Microsoft Office Excel | 4 | 31.03.2010 00:26 |
Excel VBA, Экспорт в txt, кодировка файла UTF-16 LE/UCS-2 Little Endian+еще один интересный вопрос | Maxximus | Microsoft Office Excel | 17 | 04.09.2009 20:03 |
Удалить последнюю строку из файла | Flame_of_Death | Помощь студентам | 6 | 21.07.2009 13:48 |
импорт TXT в XLS(расчет по формулам)-экспорт в XML | Zhiltsov | Microsoft Office Excel | 27 | 06.07.2009 11:27 |
Как из пути файла вытянуть его последнюю папку | viter.alex | Microsoft Office Excel | 7 | 19.01.2009 05:40 |