1

Тема: Форма ввода Docproperty

Доброго здравия всем!
Подскажите, есть ли способ вводить свойства Docproperty удобнее, чем через Свойства\Дополнительные свойства\Прочие (стандартным способом в MS Word 2010)?
Можно ли форму сорганизовать для этого дела?
Спасибо заранее.

2

Re: Форма ввода Docproperty

Можно использовать старый диалог свойств из Word 2003. Ему соответствует команда FileProperties (не помню, как ее обзывают по-русски). Создайте ее кнопку или привяжите к клавишам.

Можно и через макрос:
Application.Dialogs(750).Show
или
Application.Run "FileProperties"

Макросы под заказ и готовый пакет - mtdmacro.ru

3

Re: Форма ввода Docproperty

Присоединяюсь к Дмитрию Ш.

Хочу создать как раз такую форму.
Макет формы готов, как пример можно посмотреть на картинке: maket-formy.jpg.
Форма появляется при нажатии созданной в Ворде кнопки.

У меня стояла задача сделать следующее.

В документе, до открытия формы, Свойство "Адрес" уже было прописано — "Санкт-Петербург".

Мне необходимо обновить это поле. Я открываю форму и в поле "Адрес" пишу "Москва". После нажатия "Обновить" форма закрывается, а "Санкт-Петербург" меняется на "Москва", при том, если это поле в нескольких местах в документе, обновляется оно везде.

С написанием команды для кнопки "Обновить" проблем не возникло.
Возникла проблема с написанием команд в Visual Basic (VB) для самих полей: "Адрес", "Количество" и пр.

В интернете удалось найти, как с помощью VBA создать Свойство и прописать в нем значение:

Private Sub cmd_Update_Click()
    'Добавление в документ трех пользовательских свойств
    With ActiveDocument.CustomDocumentProperties
            .Add Name:="Кому", _
            LinkToContent:=False, _
            Type:=msoPropertyTypeString, _
            Value:="Документ", _
            LinkSource:=""
    End With
End Sub

Но вот как изменить с помощью VB уже существующее значение поля, пока не смог найти... Подскажите, пожалуйста, или может ссылку кто даст, где почитать.

Через Свойства\Дополнительные свойства\Прочие, в том числе и макрос, которые приводит к ним, делать можно, но хочется проще, т.к. делаю не для себя.

Спасибо!

Post's attachments

maket-formy.jpg 35.29 Кб, 2 скачиваний с 2012-01-26 

You don't have the permssions to download the attachments of this post.

4

Re: Форма ввода Docproperty

Поля надо оформить как закладки LinkToContent:=False "Связать с содержимым" поставить True, тогда эти поля будут автоматически обнвляться..........

5

Re: Форма ввода Docproperty

Закладки, как я понимаю, прописываются на странице, а свойства документа нет, они как бы "виртуальны".  По этой причине, мне удобней использовать именно свойства.

Кое-как я продвинулся в решении данного вопроса, но то, что сейчас получается, меня не очень устраивает. Форму можно посмотреть в прилагаемом файле UserForma.docm.
В нем, после нажатия на кнопку, появляется форма, которая имеет три поля: Адрес, Заказчик и третье пустое поле (ниже объясню почему оно есть) и кнопка Обновить.

Что в ней не устраивает:
— заполнение поля происходит посредством появления нового мини-окна, а нужно, чтобы данные вводились напрямую в существующие поля; не могу найти команды, которые позволили бы связать Текстовое поле со Свойством документа;
— в полях Адрес и Заказчик по умолчанию должны отображаться значения Свойств каждый раз, когда появляется форма. В том случае, если Свойство, к примеру Адрес, вообще не создано или не заполнено его значение, в поле должно прописываться "не создано" или "пусто", соответственно. Сейчас это работает, но данная информация указывается в Мини-окне при вводе данных, что не очень удобно.
— третье пустое поле — в том случае, если его убрать, то почему-то меняется порядок работы с формой: сначала появляется мини-окно, в котором требуется ввести данные, а уже потом сама форма. При наличии этого пустого поля, форма работает корректно. Полей изначально было больше, чем два, лишние поля удалил и потом заметил, что меняется порядок;
— Свойства документа (Адрес и Заказчик) прописываются автоматически после клика на соответствующее поле, даже если в мини-окне нажать "Cancel". Это не очень удобно, может быть оно и не нужно, а получается, что появляется даже если ты случайно нажал на это поле.

Как можно решить данные вопросы?

В довесок: что-то подобное, но более навороченное, я нашел на сайте "Maoyr & Maxey" по следующей ссылке:
внешняя ссылка
У них разработана единая форма для редактирования и Закладок и Свойств документа и еще чего-то. Вещь удобная, но: она на английском, она идет как Надстройка и не каждый в ней сможет разобраться...

Post's attachments

UserForma.docm 33.59 Кб, 19 скачиваний с 2012-01-31 

You don't have the permssions to download the attachments of this post.