Cчитывание данных файла формата doc

Работа с файлами и базами данных
Akimzhan
beginner
beginner
Сообщения: 11
Зарегистрирован: 09 дек 2017, 18:25
Версия LabVIEW: 8.5
Контактная информация:

Cчитывание данных файла формата doc

Сообщение Akimzhan »

Всем салют) В начале сентября начал обучение в данной среде. Появился вопрос как считать информацию из Microsoft Office Word, для дальнейшей обработки данных. Это мне нужно для создания программы тестовика, которая будет генерировать вопросы с ответами записанными в Microsoft Office Word. Заранее благодарю!
Аватара пользователя
dadreamer

Activity Professionalism Автор
professor
professor
Сообщения: 3926
Зарегистрирован: 17 фев 2013, 16:33
Награды: 4
Версия LabVIEW: 2.5 — 2022
Благодарил (а): 11 раз
Поблагодарили: 126 раз
Контактная информация:

Re: Cчитывание данных файла формата doc

Сообщение dadreamer »

Я бы прописал RGT, но судя по вашей версии :labview: вам придется довольствоваться ActiveX или .NET, в т.ч. врапперами наподобие Novacode.
Akimzhan
beginner
beginner
Сообщения: 11
Зарегистрирован: 09 дек 2017, 18:25
Версия LabVIEW: 8.5
Контактная информация:

Re: Cчитывание данных файла формата doc

Сообщение Akimzhan »

Да согласен с тем ,что у меня версия старая, просто у меня так скажем стоит четко поставленная цель свыше, сделать это именно в данной версии. Спасибо за совет! Не могли бы вы посоветовать материалы для использования ActiveX и прочего. Который день копаюсь, никак не могу найти. За ранее благодарю!!
Аватара пользователя
Kosist

Activity Gold
expert
expert
Сообщения: 1236
Зарегистрирован: 21 фев 2011, 23:44
Награды: 2
Версия LabVIEW: 2013-2020
Благодарил (а): 23 раза
Поблагодарили: 30 раз
Контактная информация:

Re: Cчитывание данных файла формата doc

Сообщение Kosist »

Akimzhan писал(а):Который день копаюсь, никак не могу найти. За ранее благодарю!!
А где Вы копаетесь? Гугл на запрос "labview and activex" или "labview and activex word" выдает столько ссылок, что "мама не горюй". В чем проблема-то? Гугл у всех одинаковый :wink:
Мы делили апельсин - много наших полегло...
Аватара пользователя
dadreamer

Activity Professionalism Автор
professor
professor
Сообщения: 3926
Зарегистрирован: 17 фев 2013, 16:33
Награды: 4
Версия LabVIEW: 2.5 — 2022
Благодарил (а): 11 раз
Поблагодарили: 126 раз
Контактная информация:

Re: Cчитывание данных файла формата doc

Сообщение dadreamer »

Akimzhan писал(а):Не могли бы вы посоветовать материалы для использования ActiveX и прочего.
Примеры, идущие в комплекте с :labview: , например actxpp.llb и ExcelExamples.llb в папке C:\Program Files\National Instruments\LabVIEW 8.0\examples\comm , также см. Help -> Find Examples, ну и сама справка, встроенная в :labview: , например Using ActiveX with LabVIEW. Кроме того, есть множество статей на форумах, всё это довольно легко гуглится.

Однако, раз вы абсолютный новичок в коммуникациях с приложениями, проще всего вам будет взять библиотеку DocX и с её помощью прочитать документ. Готовая библиотека лежит на вкладке "Releases". Справка по свойствам и методам - на вкладке Wiki. Вот самый базовый пример чтения из .docx:
DocX_Snippet.png
Проверочный файл и то, что считалось, выглядит вот так:
2017-12-10_16-24-39.jpg
Ну, и исходник:
DocX_Sample.rar
lv8.5
(115.45 КБ) 193 скачивания
Краткое описание алгоритма:
1. открываем .docx файл
2. читаем "сырой" текст из файла (т.е., текст без форматирования); если нам этого достаточно, переходим сразу к п. 6
3. узнаём, сколько в файле параграфов (строчек с переносом)
4. для каждого параграфа (цикл for) получаем текст, в нём содержащийся
5. закрываем ссылку на параграф
6. закрываем ссылки на коллекцию параграфов и на сам файл
Akimzhan
beginner
beginner
Сообщения: 11
Зарегистрирован: 09 дек 2017, 18:25
Версия LabVIEW: 8.5
Контактная информация:

Re: Cчитывание данных файла формата doc

Сообщение Akimzhan »

Огромное спасибо, извиняюсь за немного глупый вопрос и в правду в 21 веке можно сделать все при помощи Google.
Akimzhan
beginner
beginner
Сообщения: 11
Зарегистрирован: 09 дек 2017, 18:25
Версия LabVIEW: 8.5
Контактная информация:

Re: Cчитывание данных файла формата doc

Сообщение Akimzhan »

Попробовал вариант через библиотеку DocX, но при запуске программы Sample.vi в LabVIEW, требуется файл .dll . В итоге выдается сообщение, что путь к файлу не найден и тд. Далее необходимо выбрать программу Application directory.vi которой нет , хотел спросить , как устранить данную проблему, может быть дело в версии или же в самом пакете LabVIEW ?
Вложения
Набросок.png
Набросок2.png
Аватара пользователя
dadreamer

Activity Professionalism Автор
professor
professor
Сообщения: 3926
Зарегистрирован: 17 фев 2013, 16:33
Награды: 4
Версия LabVIEW: 2.5 — 2022
Благодарил (а): 11 раз
Поблагодарили: 126 раз
Контактная информация:

Re: Cчитывание данных файла формата doc

Сообщение dadreamer »

Akimzhan писал(а):при запуске программы Sample.vi в LabVIEW, требуется файл .dll . В итоге выдается сообщение, что путь к файлу не найден и тд.
Перед тем, как запускать программу, разблокируйте все файлы, что лежат в архиве. Винда защищается от подозрительного контента из интернета. Нажмите ПКМ -> Свойства -> Разблокировать. Затем запускайте прогу. Естественно, Xceed.Words.NET.dll должен лежать в папке data.
Akimzhan писал(а):Далее необходимо выбрать программу Application directory.vi которой нет
Разве в 8.5 нет App Directory? :shok: Это, вроде как, довольно старая штука.
2017-12-12_14-28-08.jpg
Ну, возьмите тогда Current VI's Path (в экзешнике его strip'нуть надо будет). На худой конец вбейте путь константой, по-моему это не проблема.
Akimzhan
beginner
beginner
Сообщения: 11
Зарегистрирован: 09 дек 2017, 18:25
Версия LabVIEW: 8.5
Контактная информация:

Re: Cчитывание данных файла формата doc

Сообщение Akimzhan »

dadreamer, Всё сделал , как Вы сказали, но что-то тут не так, не знаю что делать , пробовал и правами админа разблокировать файлы, но всё в пустую. :suicide: Не знаю что делать.
Вложения
Набросок3.png
Набросок4.png
Аватара пользователя
dadreamer

Activity Professionalism Автор
professor
professor
Сообщения: 3926
Зарегистрирован: 17 фев 2013, 16:33
Награды: 4
Версия LabVIEW: 2.5 — 2022
Благодарил (а): 11 раз
Поблагодарили: 126 раз
Контактная информация:

Re: Cчитывание данных файла формата doc

Сообщение dadreamer »

Akimzhan писал(а):dadreamer, Всё сделал , как Вы сказали, но что-то тут не так, не знаю что делать , пробовал и правами админа разблокировать файлы, но всё в пустую. :suicide: Не знаю что делать.
Архив трогать не надо. Надо трогать файлы внутри распакованного архива. Да и вы, похоже, не админ (по кр. мере не полный). Выйдите из системы и зайдите под Администратором, разблокируйте файлы. Уберите также атрибут "для чтения", если будет.
Akimzhan
beginner
beginner
Сообщения: 11
Зарегистрирован: 09 дек 2017, 18:25
Версия LabVIEW: 8.5
Контактная информация:

Re: Cчитывание данных файла формата doc

Сообщение Akimzhan »

А на версии 8.5 вообще будет работать данный файл?Потому что пробовал сделать все как вы сказали на другом ноутбуке но вылезает тот скрин который я вам отправил ранее.
Аватара пользователя
dadreamer

Activity Professionalism Автор
professor
professor
Сообщения: 3926
Зарегистрирован: 17 фев 2013, 16:33
Награды: 4
Версия LabVIEW: 2.5 — 2022
Благодарил (а): 11 раз
Поблагодарили: 126 раз
Контактная информация:

Re: Cчитывание данных файла формата doc

Сообщение dadreamer »

Akimzhan писал(а):А на версии 8.5 вообще будет работать данный файл?Потому что пробовал сделать все как вы сказали на другом ноутбуке но вылезает тот скрин который я вам отправил ранее.
Разобрался, почему у вас не хочет работать. Суть проблемы - Invalid Library Error When Loading a DLL Written in .NET 4.0 Ну, то есть, ранние версии :labview: поддерживают .NET Framework 2.0, а Xceed.Words.NET.dll написан на .NET 4.0. Решение - использовать классическую версию DocX.dll 1.0.0.22: https://github.com/xceedsoftware/DocX/releases (снизу, под текущей версией). На диаграмме вам надо будет выбрать эту библиотеку и заново определить свойство/метод для каждого узла - просто жмёте ПКМ на узле и выбираете то, что уже было выбрано. Я проверил на XP и :labview: 8.0, всё работает.

А вот альтернативный фикс толком не работает - :labview: на некоторых свойствах выдаёт эксепшн.
Akimzhan
beginner
beginner
Сообщения: 11
Зарегистрирован: 09 дек 2017, 18:25
Версия LabVIEW: 8.5
Контактная информация:

Re: Cчитывание данных файла формата doc

Сообщение Akimzhan »

Всё поменял, нашёл необходимые библиотеки , но при запуске, после компиляции вылезает ошибка внутреннего исключения.
Вложения
Набросок.png
Blackman

Activity
leader
leader
Сообщения: 932
Зарегистрирован: 17 янв 2016, 15:02
Награды: 1
Версия LabVIEW: 6.1,8.5,20

Re: Cчитывание данных файла формата doc

Сообщение Blackman »

Вы не правильно задаете путь к файлу. Надо задавать относительный путь файла (без кавычек), чтобы отрезать имя файла текущего :vi: -> "..\имя файл.docx"
Аватара пользователя
dadreamer

Activity Professionalism Автор
professor
professor
Сообщения: 3926
Зарегистрирован: 17 фев 2013, 16:33
Награды: 4
Версия LabVIEW: 2.5 — 2022
Благодарил (а): 11 раз
Поблагодарили: 126 раз
Контактная информация:

Re: Cчитывание данных файла формата doc

Сообщение dadreamer »

Akimzhan писал(а):Всё поменял, нашёл необходимые библиотеки , но при запуске, после компиляции вылезает ошибка внутреннего исключения.
В ошибке сказано, что файл не найден. После Current VI's Path нужно вставить Strip Path, и с его верхнего выхода взять провод.
Ответить
  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Сохранение данных»