1

Тема: Ограничение на тип вводимых символов

Привет.

Извиняюсь, если вопрос уже поднимался, однако, не нашла ничего по теме ни тут, ни в рунэте.

Возможно ли (и, если да, то как) назначить для полей формы ограничения на ввод тех или иных сомволов? Например, запретить ввод кирилицы и/или пробелы при заполнении формы.

PS
Факультативно, чтобы не создавать новую тему, есть вопрос: можно ли как-то запретить сохранять заполняемую форму, если она была не полностью заполнена (остались поля с не выбранными/не введенными данными?

PSS
Было бы шикарно решить всё с помощью одних настроек документа, без макросов.

Благодарю.

Post's attachments

Template.docx 113.65 Кб, 2 скачиваний с 2013-08-06 

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

2

Re: Ограничение на тип вводимых символов

Насколько я понимаю, без использования макросов все это сделать не удастся.
С использованием же макросов, как мне кажется, теоретически это возможно, но не очень просто.
Об использовании макросов для работы с элементами управления - см., например, здесь:
http://wordexpert.ru/forum/viewtopic.php?id=1393

Удобной и приятной работы в Word!
Перевести спасибо на Яндекс кошелёк - 41001162202962; на WebMoney - R581830807057.

3

Re: Ограничение на тип вводимых символов

Запись текста в элемент управления:

    ActiveDocument.ContentControls(1).Range.Text = "Привет!"

Запись текста в именованные элементы управления:

    For Each s In ActiveDocument.ContentControls
        If s.Title = "Элемент1" Then s.Range.Text = "Привет!"
        If s.Title = "Элемент2" Then s.Range.Text = "Пока!"
    Next

Проверка текста в первом (в файле или в выделении) элементе управления:

   If ActiveDocument.ContentControls(1).Range.Text = "Привет!" Then … 

Проверка текста в именованных элементах управления:

    For Each s In ActiveDocument.ContentControls
        If s.Title = "Элемент1" Then 
            If s.Range.Text = "Привет!" Then 
              …
            End If
       End If
        If s.Title = "Элемент2" Then 
            If s.Range.Text = "Пока!" Then 
                …
            End If
       End If
    Next
Удобной и приятной работы в Word!
Перевести спасибо на Яндекс кошелёк - 41001162202962; на WebMoney - R581830807057.

4

Re: Ограничение на тип вводимых символов

Название макроса, запускаемого при закрытии файла:
AutoClose

Закрыть документ без сохранения:

ActiveDocument.Close wdDoNotSaveChange

или

ActiveDocument.Close False

Можно также "обмануть" программу, указывая, что документ якобы уже сохранён:

ActiveDocument.Saved = True
Удобной и приятной работы в Word!
Перевести спасибо на Яндекс кошелёк - 41001162202962; на WebMoney - R581830807057.