Форум поддержки пользователей. LibreOffice, Apache OpenOffice, OpenOffice.org

Форум поддержки пользователей. LibreOffice, Apache OpenOffice, OpenOffice.org

13 Декабрь 2017, 23:50 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
Новости: Вы можете задать вопрос по LibreOffice или Apache OpenOffice  без регистрации, используя форму
 
   Начало   Помощь Поиск Войти Регистрация    задать вопрос  
Страниц: 1 2 3 »   Вниз
  Печать  
Автор Тема: Общие поля свойтва пользователя для документов  (Прочитано 12391 раз)
0 Пользователей и 1 Гость смотрят эту тему.
as1234
Век живи , век учись ))
Новичок
*
Offline Offline

Пол: Мужской
Сообщений: 35


« Стартовое сообщение: 14 Апрель 2012, 22:16 »

Продолжаю играться с данныйми полями =)
Суть такова , есть два документа , в них одинаковые поля свойства пользователя , как сделать чтоб при изменение одного поля в одном документе , изменялась такое же поле только во втором документе .
Тоесть как то  сделать их общими для этих документов , подскажите как это можно сделать . Буду благодарен !
Записан
Hasim
Ветеран
*****
Offline Offline

Сообщений: 754


Woe from wit


« Ответ #1: 17 Апрель 2012, 12:47 »

Вместо ссылки на текущий документ (ThisComponent) используйте ссылку на другой документ (StarDesktop.loadComponentFromURL).
Записан
JohnSUN
Капитана в тот день называли на "ты"
Гуру
*******
Offline Offline

Пол: Мужской
Расположение: Киев
Сообщений: 2 373


Помогаю людям и компьютерам понимать друг друга


WWW
« Ответ #2: 17 Апрель 2012, 13:37 »

А каков общий замысел? Возможно, есть способ проще...
Записан

Владислав Орлов aka JohnSUN
Благодарить-не зазорно.
Подарить благо создателям офиса, нашему ресурсу, мне
as1234
Век живи , век учись ))
Новичок
*
Offline Offline

Пол: Мужской
Сообщений: 35


« Ответ #3: 23 Апрель 2012, 17:20 »

Смысл в том том что есть документы в которых есть общая информация , просто пример два шаблона с рамками , чтобы я мог быстро заполнить в одном документе рамку , при этом автоматически рамка в другом документе заполнилась теми же данными ))
Записан
JohnSUN
Капитана в тот день называли на "ты"
Гуру
*******
Offline Offline

Пол: Мужской
Расположение: Киев
Сообщений: 2 373


Помогаю людям и компьютерам понимать друг друга


WWW
« Ответ #4: 23 Апрель 2012, 17:37 »

А как насчет того, чтобы вынести эти поля в базу данных и в текстах документов использовать именно поля? Ctrl+F2 - Базы данных - Поля слияния?
Записан

Владислав Орлов aka JohnSUN
Благодарить-не зазорно.
Подарить благо создателям офиса, нашему ресурсу, мне
as1234
Век живи , век учись ))
Новичок
*
Offline Offline

Пол: Мужской
Сообщений: 35


« Ответ #5: 23 Апрель 2012, 18:27 »

я с бд вообще еще не работал  , поэтому мне проще чтоб было именно так как я описал Обеспокоенный , а результат получиться тот же самый ?
тоесть можно эти поля свойств занести в бд?или будут какой то другой вид полей ?

« Последнее редактирование: 23 Апрель 2012, 18:45 от as1234 » Записан
JohnSUN
Капитана в тот день называли на "ты"
Гуру
*******
Offline Offline

Пол: Мужской
Расположение: Киев
Сообщений: 2 373


Помогаю людям и компьютерам понимать друг друга


WWW
« Ответ #6: 23 Апрель 2012, 18:56 »

Да, если честно, я тоже предпочитаю с БД не связываться  Смеющийся
Просто как раз сегодня наткнулся на вот эту статью.
Суть та же самая: однотипные данные для разных случаев нужно где-то хранить в "общем месте" и вставлять в нужные места документов.
Автор статьи предложил сохранить данные в DBF-таблицах (Calc это делает очень просто), каталог со всеми этими таблицами указать как источник данных для БД. А потом просто выбирать нужные поля из нужных таблиц и их значения появятся в документе.
Ни тебе макросов, ни принудительной синхронизации данных между разными файлами... Стоит попробовать. Тем более, что Base как база данных там не сильно перед глазами маячит...
Записан

Владислав Орлов aka JohnSUN
Благодарить-не зазорно.
Подарить благо создателям офиса, нашему ресурсу, мне
as1234
Век живи , век учись ))
Новичок
*
Offline Offline

Пол: Мужской
Сообщений: 35


« Ответ #7: 23 Апрель 2012, 19:22 »

Хм , щас зачитаю статью ))
Записан
as1234
Век живи , век учись ))
Новичок
*
Offline Offline

Пол: Мужской
Сообщений: 35


« Ответ #8: 23 Апрель 2012, 20:05 »

Почитал , попробывал , понавставлял всяких <name> и тп  .  Но по мне так это совсем чтото не то  В замешательстве
Это опять же нужно перетаскивать все поля  в ручную ....

В идеале делаю такую штуку . Есть документ . Открывая его мы видем небольшую формочку из 4 кнопочек , 3 из которых открывает по шаблону документов (договоров) , четвертая собственно открывает диалог в котором редактируються поля свойств пользователя (прим . организация , директор , разработал и тп ) которые присутствуют в каждом из договоров , вот нужно чтоб поля изменялись непосредственно одновременно в 3х документах при помощи 1 диалога ))
1)Разобрался как собсно при помощи диалога редактировать поля
2)Открывать нужные документы
3)над третьем работаю ))))
« Последнее редактирование: 23 Апрель 2012, 20:23 от as1234 » Записан
JohnSUN
Капитана в тот день называли на "ты"
Гуру
*******
Offline Offline

Пол: Мужской
Расположение: Киев
Сообщений: 2 373


Помогаю людям и компьютерам понимать друг друга


WWW
« Ответ #9: 23 Апрель 2012, 20:44 »

А другой вариант?
Все три документа - это один документ, один длинный документ из трех секций. В каждой секции нумерация страниц начинается с единицы. Тогда все поля назначенные на этот комплексный документ определяются в нем и только в нем. В этом случае можно обойтись не свойствами документа, а полями пользователя (это во вкладке Переменные диалога Поля). Я так оформлял Договор с пятью приложениями: на самой первой странице делал таблицу из двух колонок - название поля, понятное для пользователя, и собственно поле Переменная пользователя или Задать переменную. А дальше по тексту - поля Показать переменную. Саму таблицу просто не печатаю.

Кроме того, офис может работать с такими штуками как Составные документы и Вложенные документы. Честно скажу, в последний раз пробовал их еще во времена ООо 2.4, поэтому не смогу подробно рассказать что это такое и подходит ли для твоих задач, сорри...

« Последнее редактирование: 23 Апрель 2012, 20:52 от JohnSUN » Записан

Владислав Орлов aka JohnSUN
Благодарить-не зазорно.
Подарить благо создателям офиса, нашему ресурсу, мне
as1234
Век живи , век учись ))
Новичок
*
Offline Offline

Пол: Мужской
Сообщений: 35


« Ответ #10: 23 Апрель 2012, 21:08 »

Этот вариант хорош , но в том то и загвостка что требуеться именно редактированние группы документов из 1 диалога )))

"Вместо ссылки на текущий документ (ThisComponent) используйте ссылку на другой документ (StarDesktop.loadComponentFromURL)." ломал голову над этим , прочитал кучу лит-ры но результата никакого  Непонимающий
« Последнее редактирование: 23 Апрель 2012, 21:10 от as1234 » Записан
JohnSUN
Капитана в тот день называли на "ты"
Гуру
*******
Offline Offline

Пол: Мужской
Расположение: Киев
Сообщений: 2 373


Помогаю людям и компьютерам понимать друг друга


WWW
« Ответ #11: 23 Апрель 2012, 21:16 »

Да, это проблема... Дело в том, что по StarDesktop.loadComponentFromURL открываешь - явно или в скрытом режиме, но именно открываешь - один документ. А выходит, что открывать нужно пачку? Все, кому нужно изменить значение пользовательского свойства? А по какому признаку их искать?
Записан

Владислав Орлов aka JohnSUN
Благодарить-не зазорно.
Подарить благо создателям офиса, нашему ресурсу, мне
as1234
Век живи , век учись ))
Новичок
*
Offline Offline

Пол: Мужской
Сообщений: 35


« Ответ #12: 23 Апрель 2012, 21:30 »

Для каждого документа своя кнопочка настроенна для открытия в отдельном окне по Url (пока их 3) , тоесть скажем нужно открыть 2 из 3 , 1 из 3 , или все три это дело пару щелчков мыши , вот в этих открытых документах и нужно редактировать поля через один диалог


вот пример , шаблоны ( one.ott , two.ott , three.ott ) у всех троих забиты в свойствах ( XXX , ZZZ ) открываються c C:\tmp\

[вложение удалено Администратором]
« Последнее редактирование: 23 Апрель 2012, 21:51 от as1234 » Записан
JohnSUN
Капитана в тот день называли на "ты"
Гуру
*******
Offline Offline

Пол: Мужской
Расположение: Киев
Сообщений: 2 373


Помогаю людям и компьютерам понимать друг друга


WWW
« Ответ #13: 23 Апрель 2012, 22:04 »

Погоди! Точно ott?!! Именно шаблоны? То есть свойства нужно прописать не в них, а в новые файлы, созданные на их основании?

Я тут уже успел заготовку макроса набросать:
Код:
Sub DoubleParamsTo(sURL As String)
Dim oDoc As Variant ' Открываемый документ
Dim oDocumentProperties As Variant ' Свойства текущего документа
Dim oUserDefinedProperties As Variant ' Пользовательские свойства текущего документа
Dim oEnum As Variant
Dim oPropertySetInfo As Variant
Dim oProperties As Variant
Dim oVal, sVal$
Dim i%
Globalscope.BasicLibraries.loadLibrary("Tools") ' Загрузить стандартную библиотеку "Tools"
oDoc = OpenDocument(ConvertToURL(sURL), Array()) ' Эта процедура из "Tools" откроет файл, если он еще не открыт
REM Получить пользовательские свойства текущего документа
oDocumentProperties = ThisComponent.getDocumentProperties()
oUserDefinedProperties = oDocumentProperties.getUserDefinedProperties()
oPropertySetInfo = oUserDefinedProperties.getPropertySetInfo()
oProperties = oPropertySetInfo.getProperties()
REM Здесь нужно получить пользовательские свойства открытого документа oDoc...
REM Теперь перебрать все свойства текущего документа
For i = LBound(oProperties) To UBound(oProperties)
oVal = oProperties(i)
sVal = oVal.Name
REM Здесь каким-то образом переприсвоить свойства по имени
Next i
oDoc.store() ' Записать документ oDoc
DisposeDocument(oDoc) ' Аккуратно закрыть oDoc (тоже процедура из "Tools")
End Sub
Записан

Владислав Орлов aka JohnSUN
Благодарить-не зазорно.
Подарить благо создателям офиса, нашему ресурсу, мне
as1234
Век живи , век учись ))
Новичок
*
Offline Offline

Пол: Мужской
Сообщений: 35


« Ответ #14: 23 Апрель 2012, 22:34 »

"Погоди! Точно ott?!! Именно шаблоны? То есть свойства нужно прописать не в них, а в новые файлы, созданные на их основании?"

Yes  Улыбка огось спасибо , чем дальше тем страшнее выглядят макросы ))) начну разбираться
« Последнее редактирование: 23 Апрель 2012, 22:45 от as1234 » Записан
Страниц: 1 2 3 »   Вверх
  Печать  
 
Перейти в:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!