Страница 1 из 2
Cчитывание данных файла формата doc
Добавлено: 09 дек 2017, 18:35
Akimzhan
Всем салют) В начале сентября начал обучение в данной среде. Появился вопрос как считать информацию из Microsoft Office Word, для дальнейшей обработки данных. Это мне нужно для создания программы тестовика, которая будет генерировать вопросы с ответами записанными в Microsoft Office Word. Заранее благодарю!
Re: Cчитывание данных файла формата doc
Добавлено: 10 дек 2017, 02:25
dadreamer
Я бы прописал
RGT, но судя по вашей версии
вам придется довольствоваться ActiveX или .NET, в т.ч. врапперами наподобие
Novacode.
Re: Cчитывание данных файла формата doc
Добавлено: 10 дек 2017, 11:38
Akimzhan
Да согласен с тем ,что у меня версия старая, просто у меня так скажем стоит четко поставленная цель свыше, сделать это именно в данной версии. Спасибо за совет! Не могли бы вы посоветовать материалы для использования ActiveX и прочего. Который день копаюсь, никак не могу найти. За ранее благодарю!!
Re: Cчитывание данных файла формата doc
Добавлено: 10 дек 2017, 13:59
Kosist
Akimzhan писал(а):Который день копаюсь, никак не могу найти. За ранее благодарю!!
А где Вы копаетесь? Гугл на запрос "labview and activex" или "labview and activex word" выдает столько ссылок, что "мама не горюй". В чем проблема-то? Гугл у всех одинаковый
Re: Cчитывание данных файла формата doc
Добавлено: 10 дек 2017, 15:00
dadreamer
Akimzhan писал(а):Не могли бы вы посоветовать материалы для использования ActiveX и прочего.
Примеры, идущие в комплекте с
, например
actxpp.llb и
ExcelExamples.llb в папке
C:\Program Files\National Instruments\LabVIEW 8.0\examples\comm , также см. Help -> Find Examples, ну и сама справка, встроенная в
, например
Using ActiveX with LabVIEW. Кроме того, есть множество статей на форумах, всё это довольно легко гуглится.
Однако, раз вы абсолютный новичок в коммуникациях с приложениями, проще всего вам будет взять библиотеку
DocX и с её помощью прочитать документ. Готовая библиотека лежит на вкладке "Releases". Справка по свойствам и методам - на вкладке Wiki. Вот самый базовый пример чтения из .docx:
Проверочный файл и то, что считалось, выглядит вот так:
Ну, и исходник:
Краткое описание алгоритма:
1. открываем .docx файл
2. читаем "сырой" текст из файла (т.е., текст без форматирования); если нам этого достаточно, переходим сразу к п. 6
3. узнаём, сколько в файле параграфов (строчек с переносом)
4. для каждого параграфа (цикл for) получаем текст, в нём содержащийся
5. закрываем ссылку на параграф
6. закрываем ссылки на коллекцию параграфов и на сам файл
Re: Cчитывание данных файла формата doc
Добавлено: 10 дек 2017, 17:55
Akimzhan
Огромное спасибо, извиняюсь за немного глупый вопрос и в правду в 21 веке можно сделать все при помощи Google.
Re: Cчитывание данных файла формата doc
Добавлено: 12 дек 2017, 08:30
Akimzhan
Попробовал вариант через библиотеку DocX, но при запуске программы Sample.vi в LabVIEW, требуется файл .dll . В итоге выдается сообщение, что путь к файлу не найден и тд. Далее необходимо выбрать программу Application directory.vi которой нет , хотел спросить , как устранить данную проблему, может быть дело в версии или же в самом пакете LabVIEW ?
Re: Cчитывание данных файла формата doc
Добавлено: 12 дек 2017, 12:29
dadreamer
Akimzhan писал(а):при запуске программы Sample.vi в LabVIEW, требуется файл .dll . В итоге выдается сообщение, что путь к файлу не найден и тд.
Перед тем, как запускать программу, разблокируйте все файлы, что лежат в архиве. Винда защищается от подозрительного контента из интернета. Нажмите ПКМ -> Свойства -> Разблокировать. Затем запускайте прогу. Естественно, Xceed.Words.NET.dll должен лежать в папке data.
Akimzhan писал(а):Далее необходимо выбрать программу Application directory.vi которой нет
Разве в 8.5 нет App Directory?
Это, вроде как, довольно старая штука.
Ну, возьмите тогда Current VI's Path (в экзешнике его strip'нуть надо будет). На худой конец вбейте путь константой, по-моему это не проблема.
Re: Cчитывание данных файла формата doc
Добавлено: 13 дек 2017, 08:48
Akimzhan
dadreamer, Всё сделал , как Вы сказали, но что-то тут не так, не знаю что делать , пробовал и правами админа разблокировать файлы, но всё в пустую.
Не знаю что делать.
Re: Cчитывание данных файла формата doc
Добавлено: 13 дек 2017, 08:52
dadreamer
Akimzhan писал(а):dadreamer, Всё сделал , как Вы сказали, но что-то тут не так, не знаю что делать , пробовал и правами админа разблокировать файлы, но всё в пустую.
Не знаю что делать.
Архив трогать не надо. Надо трогать файлы
внутри распакованного архива. Да и вы, похоже, не админ (по кр. мере не полный). Выйдите из системы и зайдите под Администратором, разблокируйте файлы. Уберите также атрибут "для чтения", если будет.
Re: Cчитывание данных файла формата doc
Добавлено: 18 дек 2017, 13:36
Akimzhan
А на версии 8.5 вообще будет работать данный файл?Потому что пробовал сделать все как вы сказали на другом ноутбуке но вылезает тот скрин который я вам отправил ранее.
Re: Cчитывание данных файла формата doc
Добавлено: 18 дек 2017, 16:14
dadreamer
Akimzhan писал(а):А на версии 8.5 вообще будет работать данный файл?Потому что пробовал сделать все как вы сказали на другом ноутбуке но вылезает тот скрин который я вам отправил ранее.
Разобрался, почему у вас не хочет работать. Суть проблемы -
Invalid Library Error When Loading a DLL Written in .NET 4.0 Ну, то есть, ранние версии
поддерживают .NET Framework 2.0, а Xceed.Words.NET.dll написан на .NET 4.0. Решение - использовать классическую версию DocX.dll 1.0.0.22:
https://github.com/xceedsoftware/DocX/releases (снизу, под текущей версией). На диаграмме вам надо будет выбрать эту библиотеку и заново определить свойство/метод для каждого узла - просто жмёте ПКМ на узле и выбираете то, что уже было выбрано. Я проверил на XP и
8.0, всё работает.
А вот
альтернативный фикс толком не работает -
на некоторых свойствах выдаёт эксепшн.
Re: Cчитывание данных файла формата doc
Добавлено: 19 дек 2017, 13:48
Akimzhan
Всё поменял, нашёл необходимые библиотеки , но при запуске, после компиляции вылезает ошибка внутреннего исключения.
Re: Cчитывание данных файла формата doc
Добавлено: 19 дек 2017, 15:35
Blackman
Вы не правильно задаете путь к файлу. Надо задавать относительный путь файла (без кавычек), чтобы отрезать имя файла текущего
-> "..\имя файл.docx"
Re: Cчитывание данных файла формата doc
Добавлено: 19 дек 2017, 16:23
dadreamer
Akimzhan писал(а):Всё поменял, нашёл необходимые библиотеки , но при запуске, после компиляции вылезает ошибка внутреннего исключения.
В ошибке сказано, что файл не найден. После Current VI's Path нужно вставить Strip Path, и с его верхнего выхода взять провод.