Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: Программирование на Basic / VBA


РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / Basic/VBA

Выпуск № 251
от 31.03.2006, 08:05

Администратор:Калашников О.А.
В рассылке:Подписчиков: 135, Экспертов: 20
В номере:Вопросов: 1, Ответов: 2


Вопрос № 38530: Здравствуйте, уважаемые эксперты. Помогите, пожалуйста, решить следующую задачу: Имеется текстовый файл с реквизитами организаций. Информация внесена построчно без пробелов. 1. В первой строке название организации заключается между двух ...

Вопрос № 38.530
Здравствуйте, уважаемые эксперты.
Помогите, пожалуйста, решить следующую задачу:
Имеется текстовый файл с реквизитами организаций. Информация внесена построчно без пробелов.
1. В первой строке название организации заключается между двух запятых слева и двух запятых справа. Как можно извлечь из строки только эту информацию (при условии, что заранее неизвестно количество символов в названии) ?
2. Как перейти после чтения первой строки сразу к четвёртой ?
Если с программой не выгорит, придется данные по хреновой туче организаций вносить дедовским способом - пером на бумаге. Не хотелось бы!
Отправлен: 26.03.2006, 07:43
Вопрос задал: Кокорич Вадим Леонидович (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Genyaa
Здравствуйте, Кокорич Вадим Леонидович!

1) Если вся строка в nStr, то выделить часть, ограниченную описанным в вопросе образом, можно следующим образом - см.приложение

2) Чтобы прочитать 4-ую строку из текстового файла после первой, нужно повторить чтение 3 раза после чтения первой стороки.

Приложение:

Ответ отправил: Genyaa (статус: 2-ой класс)
Ответ отправлен: 26.03.2006, 12:47

Отвечает: Godal
Здравствуйте, Кокорич Вадим Леонидович!
Долго и нудно.
Как я понял файл имеет следующую структуру:
,,НазваниеОрганизации1,,
Реквизиты1Организации1
Реквизиты2Организации1
,,НазваниеОрганизации2,,
Реквизиты1Организации2
Реквизиты2Организации2
и т.д.

Сделаем проще.
У VB, как и у VBA есть функция Spilt().
Пишем код

Sub FileWorkHard()
Dim arrDataFromFile() As String
Dim strZapt As String

strZapt = ",,"

arrDataFromFile = Split(GetDataFromFile("E:abc.txt"), strZapt)

For i = 1 To UBound(arrDataFromFile()) Step 2
Debug.Print arrDataFromFile(i)
Next i

End Sub

Функция GetDataFromFile в приложении. Замените при е вызове путь к файлу на свой.

Приложение:

---------
Как коснешься ты земли, сразу салом обернись

Ответ отправил: Godal (статус: 2-ой класс)
Ответ отправлен: 26.03.2006, 20:35


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2006, Портал RusFAQ.ru, Россия, Москва.
Идея, дизайн, программирование: Калашников О.А.
Email: adm@rusfaq.ru, Тел.: +7 (926) 535-23-31
Авторские права | Реклама на портале
Версия системы: 4.20 (beta) от 17.03.2006
Яндекс Rambler's Top100

В избранное