Создание отчета

Простейшие вопросы в области инженерной разработки
Ответить
danya
junior
junior
Сообщения: 52
Зарегистрирован: 23 мар 2015, 18:29
Версия LabVIEW: 2010
Контактная информация:

Создание отчета

Сообщение danya »

Здравствуйте!
Я создаю отчет с помощью Report Generation Toolkit. Есть некий шаблон, а именно вордовский документ с закладками, указывающими на места куда нужно вставить данные. Необходимо, чтоб отчет постепенно заполнялся, не за один раз. Этого удалось добиться беря за шаблон уже созданный файл Отчет.docx после первого запуска программы. Но в этом случае, при обновление тех данных которые уже существуют, они просто дописываются, а не обновляются. ЧТо я имею ввиду, запустила первый раз, создался документ Отчет.docx, занеслись туда данные в столбец 1. Запустила еще раз, хочу обновить этот же столбец. Но он не обновляется, а дозаписывает данные в этот столбец. Может быть кто-то подскажет как это исправить.
Вложения
Снимок.JPG
Аватара пользователя
ladik

Silver
developer
developer
Сообщения: 275
Зарегистрирован: 18 ноя 2014, 11:45
Награды: 1
Версия LabVIEW: 2015, 2019
Откуда: Екатеринбург
Благодарил (а): 4 раза
Поблагодарили: 3 раза
Контактная информация:

Re: Создание отчета

Сообщение ladik »

С RGT не работал, но смею предположить, что может сначала нужно очистить столбец, а потом записывать. Вы не пробовали такой вариант?
Дорогу осилит идущий.
Artem.spb

Activity Автор
professor
professor
Сообщения: 3408
Зарегистрирован: 31 июл 2011, 23:05
Награды: 2
Версия LabVIEW: 12-18
Благодарил (а): 49 раз
Поблагодарили: 176 раз
Контактная информация:

Re: Создание отчета

Сообщение Artem.spb »

danya писал(а):Здравствуйте!
Но он не обновляется, а дозаписывает данные в этот столбец. Может быть кто-то подскажет как это исправить.
Что-то в последнее время из меня анекдоты прут:
- доктор, когда я делаю так, у меня вот тут вот болит
- не делайте так

Собственно, зачем писать снова то, что уже записано? Если вы добавили текст в закладку, закладка никуда не делась, она осталась на том же месте, а текст документа-шаблона стал больше.
Зачем нужно повторно писать тот же текст? он изменился, или нет?
Удаления текста в ворде я не знаю, разве что "Word Find & Replace VI", но он может и другой текст попортить.
danya
junior
junior
Сообщения: 52
Зарегистрирован: 23 мар 2015, 18:29
Версия LabVIEW: 2010
Контактная информация:

Re: Создание отчета

Сообщение danya »

Да, данные могут изменятся. Поэтому и хотела обновлять. Но, как я поняла, невозможно в вордовском документе удалить уже написанное из-под Labview, чтобы записать туда новое. Буду делать отчет иначе, не постепенно заполняя. Извините, за беспокойство.
Blackman

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

Re: Создание отчета

Сообщение Blackman »

Объясните пожалуйста кто нибудь, как файл Шаблон.docx становится файлом Отчет.docx?
Если в D:\ миллион файлов сколько времени занимает поиск файла Отчет.docx?
Аватара пользователя
dadreamer

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

Re: Создание отчета

Сообщение dadreamer »

danya писал(а):Но, как я поняла, невозможно в вордовском документе удалить уже написанное из-под Labview, чтобы записать туда новое.
Всё возможно, просто это несколько замудрёно. Кроме того, не понимаю, почему NI не сделали :vi: обёртки для чтения Word-документа. А что касается сабжа, то делаем так:
1) Получаем ссылку на текущий документ с помощью [LabVIEW]\vi.lib\addons\_office\word.llb\Word Get ActiveX References.vi (Word._Document).
2) Получаем Range (т.е., диапазон "начало-конец") необходимой закладки через [LabVIEW]\vi.lib\addons\_office\_wordsub.llb\Word_Get_Range.vi (insertion point = bookmark, bookmark name = имя закладки, на выходе имеем Range).
3) Расширяем Range до нужного места. Изначально он стоит на позиции, где находится закладка. Чтобы, например, растянуть Range на одно слово, используем Invoke Node MoveEnd с параметрами Unit = wdWord = 2 и Count = 1.
4) Используем свойство Text в режиме записи и пишем любой текст (естественно, через Property Node).
5) Сохраняем и закрываем отчёт в :labview: , открываем в Word'е и видим, что там, где стоит закладка, новый текст заменил старый.
Диаграмма простенькая. Думаю, набросаете для своего документа.
2016-04-04_21-12-19.jpg
Ну, и вот список WdUnits: https://msdn.microsoft.com/en-us/librar ... 12%29.aspx
danya
junior
junior
Сообщения: 52
Зарегистрирован: 23 мар 2015, 18:29
Версия LabVIEW: 2010
Контактная информация:

Re: Создание отчета

Сообщение danya »

Благодарю Вас! Сделала все как в диаграмме выше, все работает превосходно! :thank:
Ответить
  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Для чайников»