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

Работа с файлами и базами данных

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

Postby Akimzhan on 09 Dec 2017, 18:35

Всем салют) В начале сентября начал обучение в данной среде. Появился вопрос как считать информацию из Microsoft Office Word, для дальнейшей обработки данных. Это мне нужно для создания программы тестовика, которая будет генерировать вопросы с ответами записанными в Microsoft Office Word. Заранее благодарю!
Akimzhan
interested
interested
 
Posts: 8
Joined: 09 Dec 2017, 18:25
LabVIEW Version: 8.5
Karma: 0

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

Postby dadreamer on 10 Dec 2017, 02:25

Я бы прописал RGT, но судя по вашей версии :labview: вам придется довольствоваться ActiveX или .NET, в т.ч. врапперами наподобие Novacode.
User avatar
dadreamer
professor
professor
 
Posts: 3149
Joined: 17 Feb 2013, 16:33
Medals: 4
Activity (1) Professionalism (1) Автор (2)
LabVIEW Version: 2.5 — 2018
Karma: 800
I/O VIP vision internet

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

Postby Akimzhan on 10 Dec 2017, 11:38

Да согласен с тем ,что у меня версия старая, просто у меня так скажем стоит четко поставленная цель свыше, сделать это именно в данной версии. Спасибо за совет! Не могли бы вы посоветовать материалы для использования ActiveX и прочего. Который день копаюсь, никак не могу найти. За ранее благодарю!!
Akimzhan
interested
interested
 
Posts: 8
Joined: 09 Dec 2017, 18:25
LabVIEW Version: 8.5
Karma: 0

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

Postby Kosist on 10 Dec 2017, 13:59

Akimzhan wrote:Который день копаюсь, никак не могу найти. За ранее благодарю!!

А где Вы копаетесь? Гугл на запрос "labview and activex" или "labview and activex word" выдает столько ссылок, что "мама не горюй". В чем проблема-то? Гугл у всех одинаковый :wink:
Мы делили апельсин - много наших полегло...
User avatar
Kosist
leader
leader
 
Posts: 897
Joined: 21 Feb 2011, 23:44
Medals: 2
Activity (1) Gold (1)
LabVIEW Version: 2013-2017
Karma: 253
CLAD I/O VIP students

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

Postby dadreamer on 10 Dec 2017, 15:00

Akimzhan wrote:Не могли бы вы посоветовать материалы для использования 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 KiB) Downloaded 49 times

Краткое описание алгоритма:
1. открываем .docx файл
2. читаем "сырой" текст из файла (т.е., текст без форматирования); если нам этого достаточно, переходим сразу к п. 6
3. узнаём, сколько в файле параграфов (строчек с переносом)
4. для каждого параграфа (цикл for) получаем текст, в нём содержащийся
5. закрываем ссылку на параграф
6. закрываем ссылки на коллекцию параграфов и на сам файл
User avatar
dadreamer
professor
professor
 
Posts: 3149
Joined: 17 Feb 2013, 16:33
Medals: 4
Activity (1) Professionalism (1) Автор (2)
LabVIEW Version: 2.5 — 2018
Karma: 800
I/O VIP vision internet

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

Postby Akimzhan on 10 Dec 2017, 17:55

Огромное спасибо, извиняюсь за немного глупый вопрос и в правду в 21 веке можно сделать все при помощи Google.
Akimzhan
interested
interested
 
Posts: 8
Joined: 09 Dec 2017, 18:25
LabVIEW Version: 8.5
Karma: 0

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

Postby Akimzhan on 12 Dec 2017, 08:30

Попробовал вариант через библиотеку DocX, но при запуске программы Sample.vi в LabVIEW, требуется файл .dll . В итоге выдается сообщение, что путь к файлу не найден и тд. Далее необходимо выбрать программу Application directory.vi которой нет , хотел спросить , как устранить данную проблему, может быть дело в версии или же в самом пакете LabVIEW ?
Attachments
Набросок.png
Набросок2.png
Akimzhan
interested
interested
 
Posts: 8
Joined: 09 Dec 2017, 18:25
LabVIEW Version: 8.5
Karma: 0

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

Postby dadreamer on 12 Dec 2017, 12:29

Akimzhan wrote:при запуске программы Sample.vi в LabVIEW, требуется файл .dll . В итоге выдается сообщение, что путь к файлу не найден и тд.

Перед тем, как запускать программу, разблокируйте все файлы, что лежат в архиве. Винда защищается от подозрительного контента из интернета. Нажмите ПКМ -> Свойства -> Разблокировать. Затем запускайте прогу. Естественно, Xceed.Words.NET.dll должен лежать в папке data.
Akimzhan wrote:Далее необходимо выбрать программу Application directory.vi которой нет

Разве в 8.5 нет App Directory? :shok: Это, вроде как, довольно старая штука.
2017-12-12_14-28-08.jpg

Ну, возьмите тогда Current VI's Path (в экзешнике его strip'нуть надо будет). На худой конец вбейте путь константой, по-моему это не проблема.
User avatar
dadreamer
professor
professor
 
Posts: 3149
Joined: 17 Feb 2013, 16:33
Medals: 4
Activity (1) Professionalism (1) Автор (2)
LabVIEW Version: 2.5 — 2018
Karma: 800
I/O VIP vision internet

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

Postby Akimzhan on 13 Dec 2017, 08:48

dadreamer, Всё сделал , как Вы сказали, но что-то тут не так, не знаю что делать , пробовал и правами админа разблокировать файлы, но всё в пустую. :suicide: Не знаю что делать.
Attachments
Набросок3.png
Набросок4.png
Akimzhan
interested
interested
 
Posts: 8
Joined: 09 Dec 2017, 18:25
LabVIEW Version: 8.5
Karma: 0

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

Postby dadreamer on 13 Dec 2017, 08:52

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

Архив трогать не надо. Надо трогать файлы внутри распакованного архива. Да и вы, похоже, не админ (по кр. мере не полный). Выйдите из системы и зайдите под Администратором, разблокируйте файлы. Уберите также атрибут "для чтения", если будет.
User avatar
dadreamer
professor
professor
 
Posts: 3149
Joined: 17 Feb 2013, 16:33
Medals: 4
Activity (1) Professionalism (1) Автор (2)
LabVIEW Version: 2.5 — 2018
Karma: 800
I/O VIP vision internet

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

Postby Akimzhan on 18 Dec 2017, 13:36

А на версии 8.5 вообще будет работать данный файл?Потому что пробовал сделать все как вы сказали на другом ноутбуке но вылезает тот скрин который я вам отправил ранее.
Akimzhan
interested
interested
 
Posts: 8
Joined: 09 Dec 2017, 18:25
LabVIEW Version: 8.5
Karma: 0

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

Postby dadreamer on 18 Dec 2017, 16:14

Akimzhan wrote:А на версии 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: на некоторых свойствах выдаёт эксепшн.
User avatar
dadreamer
professor
professor
 
Posts: 3149
Joined: 17 Feb 2013, 16:33
Medals: 4
Activity (1) Professionalism (1) Автор (2)
LabVIEW Version: 2.5 — 2018
Karma: 800
I/O VIP vision internet

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

Postby Akimzhan on 19 Dec 2017, 13:48

Всё поменял, нашёл необходимые библиотеки , но при запуске, после компиляции вылезает ошибка внутреннего исключения.
Attachments
Набросок.png
Akimzhan
interested
interested
 
Posts: 8
Joined: 09 Dec 2017, 18:25
LabVIEW Version: 8.5
Karma: 0

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

Postby Blackman on 19 Dec 2017, 15:35

Вы не правильно задаете путь к файлу. Надо задавать относительный путь файла (без кавычек), чтобы отрезать имя файла текущего :vi: -> "..\имя файл.docx"
Blackman
leader
leader
 
Posts: 798
Joined: 17 Jan 2016, 15:02
Medals: 1
Activity (1)
LabVIEW Version: 6.1,8.5,20
Karma: 234
VIP

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

Postby dadreamer on 19 Dec 2017, 16:23

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

В ошибке сказано, что файл не найден. После Current VI's Path нужно вставить Strip Path, и с его верхнего выхода взять провод.
User avatar
dadreamer
professor
professor
 
Posts: 3149
Joined: 17 Feb 2013, 16:33
Medals: 4
Activity (1) Professionalism (1) Автор (2)
LabVIEW Version: 2.5 — 2018
Karma: 800
I/O VIP vision internet

Next

Return to Сохранение данных

Who is online

Users browsing this forum: Yandex and 4 guests

cron