Философия

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » Философия » Задачи по Excel » Задача 3.12. Интерфейс для сбора заявок на конференцию


Задача 3.12. Интерфейс для сбора заявок на конференцию

Сообщений 1 страница 7 из 7

1

Максим, еще раз огромное спасибо за предложение помощи.

Расширение задачи 3.9. Основной движок Вы сделали. Теперь важны детали. Привожу полное описание. Если задача Вам не интересна, делать не стоит. Думаю над другими.

3.12.1.  Дана папка с ворд-файлами   -   заявками на участие в конференции.
В каждом файле  - строки из поля и его значения. Н-р,
Фамилия      Деннет
Секция       Когнитивизм
Тема           Когнитивная психология.
Звание:       Профессор
Институт      МИФИ
Е-мэйл:       dennet@yandex.ru

3.12.2. В иксель-файле дана  форма с кнопкой "ОК" и 4-мя окнами ввода. Пользователь вводит, н-р,  "Когнитивизм", "Семиотика", "Коммуникация", "Технологии" в окна ввода.

3.12.3. Создать в этой же директории (где хранятся заявки и иксель файл) четыре папки с введенными названиями - "Когнитивизм" и т.д.
По нажатию кнопки "ОК" зайти в каждый файл-заявку.
При условии, что значение строки "Секция" содержит слово "Когнитивизм",
создать ячейку с жирным заголовком "Когнитивизм" и
под ней расположить таблицу: взять значения полей "Фамилия" и "Тема", вставить их в отдельные ячейки данного иксель-файла (списка), н-р:
1        Деннет        Когнитивная психология.
2        Патнэм        Программы и машины

Переместить только что обработанный файл в соответствующую папку (т.е. если "Секция" содержит слово "Семиотика", то сбросить файл в папку "Семиотика").

3.12.4. Повторить итеративно для секций "Семиотика" и др. В результате должен получиться иксель-список следующей структуры:

Когнитивизм
1        Деннет        Когнитивная психология.
2        Патнэм        Программы и машины
Семиотика
1        Пирс           Знаки.
2        Соссюр       Лингвистика.
Когнитивизм
1        Икскюль     Окружающая среда.
2        Гудмен       Создание миров.
Технологии
1        Рэмбиди      Очарование нанотехнологии.
2        Кауфман     Самоорганизация.

и четыре папки с распределенными по ним файлами.

3.12.5. Во время обработки файлов также генерировать html-файл в этой же папке.
Html-файл является копией иксель-файла, с заголовком "Участники конференции".
Каждая фамилия в этом файле должна быть ссылкой на файл автора в этой же папке.
Путь для ссылки пусть будет относительным ("../dennet.doc").

3.12.6. Во время обработки файлов также генерировать:
           3.12.6.1. Иксель файл с фамилией, институтом и емэйлом автора (3 колонки)
           3.12.6.2. Общий список рассылки в формате txt: т.е. идущие через запятую емэйлы всех участников.  (Файл с названием email.txt)

3.12.7. Учесть, что в строках заявок между полем и его значением могут встречаться  двоеточия, тире, точки - их игнорировать.

3.12.8. Если возможно: сделать обработку не только ворд-заявок, но и иксель-заявок с такими же данными внутри. Также docx и xlsx форматы.

0

2

Вопрос по пункту 3.12.5: нажав по ссылке, соответствующий файл должен открыться или должно быть предложено сохранить его в определенное место?

0

3

Максим, все файлы уже будут лежать в сгенерированных папках, и html-файл должен при нажатии на ссылку открывать их.

0

4

Посмотрите такой вариант. Скажите, что не так.

http://depositfiles.com/files/i5hpi6stt

Пункты 3.12.6.1. и 3.12.8. пока не делал.

0

5

Максим, просто шикарно! Спасибо за комментированный код, все понятно. Рядом с кнопкой "add" желательна кнопка "delete", если это легко.

0

6

3.12.9 Максим, если не потеряли вкус к этой задаче. Можно ли сделать проверку при открытии моего иксель-файла, не возникли ли еще дополнительные заявки в этой же папке? Если просто с нуля каждый раз строить дерево - очень долго. А вот если сделать служебную таблицу (н-р,когда генерируется иксель-файл генерировать еще один файл, где будут складированы имена обработанных файлов) и при открытии сравнивать эту таблицу с со списком файлов в папке: если несовпадение, обрабатывать новые файлы.

0

7

1.

Сергей написал(а):

3.12.9 Максим, если не потеряли вкус к этой задаче. Можно ли сделать проверку при открытии моего иксель-файла, не возникли ли еще дополнительные заявки в этой же папке? Если просто с нуля каждый раз строить дерево - очень долго. А вот если сделать служебную таблицу (н-р,когда генерируется иксель-файл генерировать еще один файл, где будут складированы имена обработанных файлов) и при открытии сравнивать эту таблицу с со списком файлов в папке: если несовпадение, обрабатывать новые файлы.

Так. Тут надо подумать. По-хорошему надо заводить xml-файл, где иерархически (разбиение по секциям) хранить обработанные заявки. При каждой последующей обработке заявок это файл должен дополняться новыми заявками. Новые заявки определяются по предложенному Вами критерию - по имени файла-заявки. А в excel-файл уже просто переписываем структуру xml-файла. Тут только проблема в односторонней синхронизации. Т.е. xml-файл будет постоянно разрастатсья. Если будет удален обработанный файл-заявка из какой-нибудь папки-секции, то в xml ничего не изменится, и в excel уже будет переноситься неверная структура.

2. Еще вопрос: в подобных задачах принципиально использование VBA? Приемлемо ли использование других, более современных, технологий создания desktop-приложений. Например, .NET Framework. С их помощью задачи обработки файлов решаются проще и быстрее.

0


Вы здесь » Философия » Задачи по Excel » Задача 3.12. Интерфейс для сбора заявок на конференцию