Вопрос № 60849: Приветствую. Импортируется из текстового файла таблица. Но в ней есть одно неудобство строка с заголовкам итого имеет вид:
| 14010100026|горошек Южный привоз 360г|шт | 9.30|
==============================================================...
Вопрос № 60.849
Приветствую. Импортируется из текстового файла таблица. Но в ней есть одно неудобство строка с заголовкам итого имеет вид:
| 14010100026|горошек Южный привоз 360г|шт | 9.30|
=========================================================================================================================================================================================
ИТОГО ПО ПОДГРУППЕ::140101 Горошек ж/б
| 3595.900| 55698.79|
т.е. что "Итого" на одной строке, а суммы в соответствующих столбцах, но строкой ниже. Нужно поднять суммы на одну строку вверх. Как бы это оформить макросом, чтобы в ручную их все не выискивать?
Отвечает: Макаренко Е.В.
Здравствуйте, Другов-Кручинский Владимир Валерьевич!
Я бы воспользовался функцией Mid(string, sym_num, length).
string - разбираемая строка
sym_num - с какого символа вытаскивать
length - сколько символов вытаскивать
... и функцией Like - сравнение строки с шаблоном (посмотрите в хелпе, писать долго)
Возвращает она строку. Написать разборщик на ней очень просто: читаете построчно файл...
Open filename (полное имя, с путем!) for Input As #1
Input #1, current_string (считываете строку, следующая подобная запись считает СЛЕДУЮЩУЮ строку)
...как только находите строку, начинающуюся с "ИТОГО ПО ПОДГРУППЕ"...
запись такая:
dim Chk as Boolean
Chk = current_string Like "ИТОГО ПО ПОДГРУППЕ*"
If Chk = True then ...
.. не передаете ее напрямую в таблицу, а считываете следующую строку и пристыковываете ее к предыдущей, потом импортируете.
--------- осторожность, точность... и горит все синим пламенем! :))
Ответ отправил: Макаренко Е.В. (статус: Студент)
Ответ отправлен: 01.11.2006, 09:53
Отвечает: Tossha
Здравствуйте, Другов-Кручинский Владимир Валерьевич!
Допустим, что все строки таблицы у Вас лежат в массиве strings(). Заголовки лежат в strings(0) Тогда см. приложение :)
Я не знаю, возможно я не правильно понял вопрос, но попробуйте, скорее всего это то, что Вам нужно...
Приложение:
Ответ отправил: Tossha (статус: 1-ый класс)
Ответ отправлен: 01.11.2006, 15:47