Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Word
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 05.02.2009, 20:20   #11
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,858
По умолчанию

Цитата:
Есть еще идея использовать «user-defined data type
Штука хорошая, но элементы с таким типом нельзя добавлять в коллекции.
Поэтому я очень редко использую эту возможность - обхожусь созданием новых классов.

Посмотри вложение. Запусти макрос test:
Код:
Sub test()
    Dim Программа As TV_Guide
    Set Программа = ПрочитатьТелепрограммуИзФайла
    With Программа
        .Телепрограмма.ОтобразитьСписокТелеканалов
        .Телепрограмма.ВывестиНаЭкран "Вся телепрограмма:"
        .ЧтоМожноПосмотретьВоВремя("9.30").ВывестиНаЭкран "В  9.30  можно посмотреть:"
    End With
End Sub
Вместо 3-х моих классов, в принципе, вполне хватит и двух.
Если предложенный вариант устроит - переделаю.


И ещё - я бы на твоём месте вместо использования
For Each oPar In ActiveDocument.Paragraphs
сразу считывал бы весь текст документа в переменную, а потом бы анализировал его - отличить заголовки можно ведь не только с использованием стилей...
Так считывание информации из файла будет происходить намного быстрее...

Цитата:
Конечно, быстрее. Но как? Анализировать текст на предмет наличия в нем определенных слов?
Если строка пустая - то пропускаем её, иначе:
если строка начинается с цифры (if s like "#*" then) - то это одно, иначе - другое.
Вложения
Тип файла: rar ТВпрограмма.rar (42.8 Кб, 18 просмотров)

Последний раз редактировалось EducatedFool; 05.02.2009 в 20:50.
EducatedFool вне форума Ответить с цитированием
Старый 05.02.2009, 20:45   #12
viter.alex
Балуюсь кодами
Участник клуба
 
Аватар для viter.alex
 
Регистрация: 09.01.2009
Сообщений: 1,837
По умолчанию

Цитата:
Сообщение от EducatedFool Посмотреть сообщение
…И ещё - я бы на твоём месте вместо использования
For Each oPar In ActiveDocument.Paragraphs
сразу считывал бы весь текст документа в переменную, а потом бы анализировал его - отличить заголовки можно ведь не только с использованием стилей...
Так считывание информации из файла будет происходить намного быстрее...
Конечно, быстрее. Но как? Анализировать текст на предмет наличия в нем определенных слов?

Цитата:
Сообщение от EducatedFool Посмотреть сообщение
…Если предложенный вариант устроит - переделаю…
Вариант устраивает. Переделывать сам буду. Спасибо за помощь. Буду учиться.


Добавлено позже
Все получилось. Задача состояла в том, чтобы сформировать новую программку, где все передачи, выходящие несколько раз в день были сведены в одну строку с указанием времени выхода через запятую. Все получилось. Огромная благодарность EducatedFool за примеры работы с классами и коллекциями. Исходный файл можно посмотреть в первом посте темы. Результат в приложении. Вложение 8593
Лучше день потерять — потом за пять минут долететь!©

Последний раз редактировалось viter.alex; 15.04.2009 в 14:44.
viter.alex вне форума Ответить с цитированием
Старый 05.02.2009, 23:01   #13
Sasha_Smirnov
Особый статус
Участник клуба
 
Аватар для Sasha_Smirnov
 
Регистрация: 24.11.2008
Сообщений: 1,535
По умолчанию

Ах вот в чём была задача!

В 1998-м нечто подобное (в Word 97) приходилось делать ☻ — после тщетных переговоров с поставщиками сей информации.

Кое-где это делают (год 2009) в редакторе FAR, вчетвером, часов за 6.
И, кстати, трое из них за это время зарабатывают по 1500 деревянных.

Так что будем осторожны — от луддитов за углом!

Последний раз редактировалось Sasha_Smirnov; 06.02.2009 в 01:48.
Sasha_Smirnov вне форума Ответить с цитированием
Старый 06.02.2009, 00:07   #14
viter.alex
Балуюсь кодами
Участник клуба
 
Аватар для viter.alex
 
Регистрация: 09.01.2009
Сообщений: 1,837
По умолчанию

Цитата:
Сообщение от Sasha_Smirnov Посмотреть сообщение
…Кое-где это делают (год 2009) в редакторе FAR, вчетвером, часов за 6.
Это в раздел «Садо-мазо»

А в общем у меня не больше чистого времени ушло на создание макроса
Лучше день потерять — потом за пять минут долететь!©
viter.alex вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Есть идея для создания игры!!! Mb666 Gamedev - cоздание игр: Unity, OpenGL, DirectX 8 01.04.2009 23:59
Идея: Анализатор сайтов с искусственным интелектом NoComm Свободное общение 4 05.01.2009 09:30
есть одна идея Askar_g Работа с сетью в Delphi 5 26.12.2008 09:24
Идея по определению ip сервера ben95 Работа с сетью в Delphi 4 07.05.2008 23:09
Есть идея, но не знаю, как сделать. Небесный Свободное общение 22 01.04.2007 18:07