![]() |
|
Модераторы: mihanik |
![]()
|
|
| Loiste |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 79 Регистрация: 28.9.2005 Репутация: нет Всего: нет |
Есть такая задача..
Имеется файл Word с вопросами и вариантами ответов по математике. В файле есть не только текст, но и формулы - объекты Equation. Возможно ли связать формулы, находящиеся в вордовском документе с ячейками таблицы в Access? Чтобы не заполнять формулами базу данных, иначе ее размер будет слишком большой. Данная связь нужна для того, чтобы потом в форме Access подставлять эти формулы в вопросы и ответы. |
|||
|
||||
| Akina |
|
||||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 26 Всего: 454 |
Конечно нет. Файл Ворда не может быть источником данных связанной таблицы.
Ты можешь хранить объекты MS Eq в полях Аксессовой БД (тогда БД действительно будет пухлая) или выдергивать их из прилагаемого Вордового документа программно непосресдтвенно при загрузке БД или при выводе на экран формы. Но я бы пошел по пути разделенных БД, в т.ч. отдельная БД для хранения формул. Это минимизирует накладные расходы и убережет от глюков с возможными изменениями в файле с формулами. -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
||||
|
|||||
| Loiste |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 79 Регистрация: 28.9.2005 Репутация: нет Всего: нет |
Есть еще один запасной вариант.
Есть идея сделать отдельно для каждого вопроса и ответа свой файл Word с текстом, формулами и т.д (один вопрос - один файл). и связывать его с базой данных Access через поле OLE. Тогда файлы с вопросами и ответами можно было бы хранить в отдельных папках и при необходимости подставлять их в форму работы с вопросами и тестами. Только желательно, чтобы в таблице Access хранились ссылки (то есть отдельная ячейка ссылается на отдельный документ), а не сами файлы. Так, чтобы при изменении файла в Word изменения отражались и в формах отображения в Access. Хотелось бы узнать Ваше мнение как специалиста об этом варианте. Столько мороки с этими заданиями по математике. Это сообщение отредактировал(а) Loiste - 29.9.2005, 15:08 |
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 26 Всего: 454 |
Loiste
А может взять готовую систему создания "угадаек"? а?
ну и храни путь к файлу - в поле типа стринг. и программно выдергивай файл на всеобщее обозрение. еще рекомендация - упрости себе жизнь и храни Вордовые документы в RTF. -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| Loiste |
|
||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 79 Регистрация: 28.9.2005 Репутация: нет Всего: нет |
Готовую не получится. Надо разрабатывать свою. Вузовскую.
Это упростит обращение к файлу? Прошу прощения, если мои вопросы кажутся ламерскими. Просто мне раньше не приходилось работать с объектами Microsoft. В идеале было пожелание хранить и вопросы и ответы в одном файле Word (так как они уже набраны по всем предметам по одному образцу). Эти документы как-то подключать к базе и программе и выдергивать оттуда вопросы и ответы. Это сообщение отредактировал(а) Loiste - 30.9.2005, 13:03 |
||||
|
|||||
| Akina |
|
||||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 26 Всего: 454 |
Нет, это упростит их вывод. Вместо OLE-контейнеров можно будет использовать RichTextBox. Добавлено @ 13:37
МожнО, конечно... но это неправильно. Нет идеологии. Нельзя плясать от того что есть, надо сразу делать по уму. -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
||||
|
|||||
| Loiste |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 79 Регистрация: 28.9.2005 Репутация: нет Всего: нет |
А что бы вы посоветовали? Просто, если хранить такое количество формул в базе ее размер станет чрезвычайно большим. К тому же, если делать все с чистого листа, то вбивать все эти данные придется мне, а это несколько десятков документов |
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 26 Всего: 454 |
1) Я уже предлагал борьбу с размером - путем отделения данных от интерфейса, вынесением формул в отдельную БД. 2) Забудьте вообще о том что что-то в Ворде есть - представьте что нет НИЧЕГО. И именно с этого положения начинайте. Разработайте систему хранения и вывода формул, удобную именно вам. 3) Создайте отдельно средства для проведения тестирования и средства для ввода/корректировки вопросов и вариантов ответов. Тогда эти данные придется вбивать тому кто за это отвечает. 4) Крайний случай - хранить формулы в виде рисунков (захват с экрана из Ворда). Вообще, если несложно - выкуси из какого-нить задания в формате Ворда пару номерочков и приаттачь сюда - посмотреть о чем собсно речь-то идет. -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| likhobory |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 466 Регистрация: 17.5.2005 Где: Москва Репутация: 10 Всего: 20 |
как вариант: сохраняем формулы документа средствами VBA в EMF-формате и кидаем в БД |
|||
|
||||
| Loiste |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 79 Регистрация: 28.9.2005 Репутация: нет Всего: нет |
Хорошо. Сегодня постараюсь приаттачить. Но, может, тогда просто вордовский файл приаттачить? Не весь конечно, я оставлю только отдно задание. А пока. Не подскажите примерчик как из Access прочитать *.doc с помощью word.paragraphs ? Что-то не могу найти такой.. Это сообщение отредактировал(а) Loiste - 3.10.2005, 09:36 |
|||
|
||||
| likhobory |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 466 Регистрация: 17.5.2005 Где: Москва Репутация: 10 Всего: 20 |
http://forum.vingrad.ru/index.php?showtopi...9&hl=paragraphs |
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 26 Всего: 454 |
а я что-то другое сказал? -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| Loiste |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 79 Регистрация: 28.9.2005 Репутация: нет Всего: нет |
Хм..похоже, сегодня не получится.. Спасибо за терпение |
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 26 Всего: 454 |
ничего, мы до завтра подождем. -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| Loiste |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 79 Регистрация: 28.9.2005 Репутация: нет Всего: нет |
Всем доброго дня
А как по вордовскому документу осуществить поиск слова? Так правильно будет?:
И как прочитать следующий абзац, после того, в котором находится это слово? Или, перебирая параграфы, проверять условием? Только больно не бейте. Я не волшебник - я только учусь)) Это сообщение отредактировал(а) Loiste - 4.10.2005, 10:01 |
|||
|
||||
| likhobory |
|
||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 466 Регистрация: 17.5.2005 Где: Москва Репутация: 10 Всего: 20 |
поскольку используешь Selection , то поиск будет идти только в выденном диапазоне,если нужен поиск в опред диапазоне - используй Range или Content - для поиска по всему доку.
|
||||||
|
|||||||
| Loiste |
|
||||||||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 79 Регистрация: 28.9.2005 Репутация: нет Всего: нет |
При:
Так?:
Добавлено @ 12:54
Какого типа должен быть NextParText? Строка не подходит, параграф тоже. |
||||||||||
|
|||||||||||
| likhobory |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 466 Регистрация: 17.5.2005 Где: Москва Репутация: 10 Всего: 20 |
именно строка, проверяй, где-нть нахимичил
|
|||
|
||||
| Loiste |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 79 Регистрация: 28.9.2005 Репутация: нет Всего: нет |
Я уже замучала вопросами
Как вставить данные из буфера обмена (скопированные из Word) в ячейку таблицы Access (поле OLE)? |
|||
|
||||
| Loiste |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 79 Регистрация: 28.9.2005 Репутация: нет Всего: нет |
Подставила строку. Работает Но..почему-то через раз о_О Один раз запускаю все работает. Запускаю второй раз на этой строке выдает ошибку: Remote server machine does not exist or is unavailable Еще раз запускаю, снова работает. И так все время.. |
|||
|
||||
| likhobory |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 466 Регистрация: 17.5.2005 Где: Москва Репутация: 10 Всего: 20 |
проверь, не создаешь ли несколько word-объектов, а лучше код выложи
что именно копируешь?? |
|||
|
||||
| Loiste |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 79 Регистрация: 28.9.2005 Репутация: нет Всего: нет |
обзац с текстом и формулой Equation |
|||
|
||||
| likhobory |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 466 Регистрация: 17.5.2005 Где: Москва Репутация: 10 Всего: 20 |
покажи док. с формулами.
уже обсуждалось - если не хочешь раздувать БД - храни в ней только ссылки на файлы с формулами какая версия офиса ?? Это сообщение отредактировал(а) likhobory - 4.10.2005, 16:38 |
|||
|
||||
| Loiste |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 79 Регистрация: 28.9.2005 Репутация: нет Всего: нет |
Я сейчас хочу по другому сделать.
Я из этого файла читаю данные и создаю отдельные вордовские файлы для вопросов и ответов. Это у меня уже получилось Хочу связать программно каждый такой файл с ячейкой Access (поле OLE). А это пока не знаю как организовать. Не подскажите? И у меня еще вопросик. Как программно очистить буфер обмена в ворде перед его закрытием. А то у меня ворд закрывается, а буфер не очищается. Вот примерный файлик. Я сейчас с ним экспериментирую Это сообщение отредактировал(а) Loiste - 5.10.2005, 09:15 Присоединённый файл ( Кол-во скачиваний: 3 )
_____.doc 22,00 Kb |
|||
|
||||
| Loiste |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 79 Регистрация: 28.9.2005 Репутация: нет Всего: нет |
Вот мой код. В коде русские слова пришлось написать латинскими буквами. Смысл такой. Открывается документ "Новый" и читаются его параграфы. Соответственно вопросы и ответы отправляются в разные файлы ворда, сохраняются и закрываются. Для каждого вопроса создается отдельный файл и для каждого ответа также создается отдельный файл. При этом копирование и вставка информации происходит через буфер обмена. Но код выполняется через раз. Один раз выполняется. В другой выдает ошибку: Remote server machine does not exist or is unavailable и запускает отладчик ставя курсор на строку 38: Selection.Paste Это сообщение отредактировал(а) Loiste - 5.10.2005, 09:37 |
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 26 Всего: 454 |
Модератор: на время решения проблемы, озвученной в предыдущем постинге, тема переносится в соотв. раздел.
-------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| Loiste |
|
||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 79 Регистрация: 28.9.2005 Репутация: нет Всего: нет |
Так..Я организовала все так, что в ячейки соответствующих таблиц заносятся пути к соответствующим файлам
так:
и так:
На форме разместила элемент "Присоединенная рамка объекта" и связываю его с документами Ворд через ссылки в поле таблицы. Как организовать все так, чтобы при нажатии кнопки эта связь менялась на ссылку из следующей ячейки таблицы и в Присоединенной рамке был виден соответствующий ей объект? Если я объявляю все переменные и открываю таблицу в процедуре нажатия кнопки, то выходит, что таблица каждый раз открывается заново. Если открываю ее в General, в процедуре нажатия кнопки он не видит открытый объект таблицы и ругается. Это сообщение отредактировал(а) Loiste - 5.10.2005, 13:40 |
||||
|
|||||
| likhobory |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 466 Регистрация: 17.5.2005 Где: Москва Репутация: 10 Всего: 20 |
еще раз: какая версия офиса ??
|
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 26 Всего: 454 |
Модератор: Сколько можно мешать вопросы в кучу??? Придерживайтесь правила: один топик = один вопрос.
-------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| Loiste |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 79 Регистрация: 28.9.2005 Репутация: нет Всего: нет |
Сорри, забыла указать. Office 2000 Модератор: Сколько можно мешать вопросы в кучу??? Придерживайтесь правила: один топик = один вопрос. Прошу прощения. Буду исправляться Это сообщение отредактировал(а) Loiste - 6.10.2005, 07:43 |
|||
|
||||
| likhobory |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 466 Регистрация: 17.5.2005 Где: Москва Репутация: 10 Всего: 20 |
баловаться с ole конечно интересно, но в данном случае есть ряд отрицательных моментов:
1. получаешь кучу мелких word-доков, причем размер каждного будет от 20 kb, вне зависимости от контента 2. придется повозиться с корректным отображением всего этого хозяйства в БД ИМХО всю текстовую инфу из дока сохраняй в соотв. полях БД, а формулы сохраняй в графическом формате (опять же советую EMF) и при работе с базой просто подставляй новый путь к Picture - и проще и ресурсы сэкономишь |
|||
|
||||
| Loiste |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 79 Регистрация: 28.9.2005 Репутация: нет Всего: нет |
Я бы так и сделала, но есть одно НО
Выше был прикреплен лишь примерный макет. В настоящих вопросах и ответах в каждом ответе или вопросе может быть от 1 до нескольких формул, рисунков, графов. А может не быть вообще. И, когда они есть, они обычно располагаются в тексте где угодно. Как же тогда организовать просмотр всего этого дела, если хранить текст отдельно от всех графических компонентов? У меня была такая мысль вначале.Но очень быстро прошла Так что пока я остановилась на таком варианте: Исходный вородовский файл я программно разбиваю на маленькие файлики и записываю пути к ним в поля соответствующих таблиц (Вопросы, Ответы) для дальнейшего обращения к ним. На форме, источником для которой является таблица (Вопросы или Ответы) размещаю Свободную рамку объекта (устанавливаю связь с документами через ссылки) и при переходе по записям таблицы в рамке отображается содержимое соответствующего документа. |
|||
|
||||
| likhobory |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 466 Регистрация: 17.5.2005 Где: Москва Репутация: 10 Всего: 20 |
напрасно, сколько бы рисунков не было, наверняка их кол-во ограничено опред. числом, так что вполне можешь их раместить на форме и при необходимости ссылаться на них из текста Это сообщение отредактировал(а) likhobory - 7.10.2005, 10:37 |
|||
|
||||
| Loiste |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 79 Регистрация: 28.9.2005 Репутация: нет Всего: нет |
это все придется делать мне. делать рисунки из всех объектов, прописывать ссылки на них в тексте. я же говорю. мне принесли готовые документы и никто не будет набирать все эти задания еще раз, сколько бы я не просила. а мне лишней работой заниматься тоже не хочется
В любом случае, всем спасибо за помощь! Это сообщение отредактировал(а) Loiste - 7.10.2005, 12:54 |
|||
|
||||
| likhobory |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 466 Регистрация: 17.5.2005 Где: Москва Репутация: 10 Всего: 20 |
зачем ?? делай все программно - пробегись в цикле по всем формулам дока и сохрани их в графике + путь кидай в соотв. поле базы |
|||
|
||||
![]()
|
| Правила форума "Программирование, связанное с MS Office" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще!
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Программирование, связанное с MS Office | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |