Форум по VBA и MS Office

Word => Макросы в Word => Тема начата: Irina18 от 23 августа 2017, 19:12

Название: Word VBA Макросы: Фамилия и инициалы.
Отправлено: Irina18 от 23 августа 2017, 19:12
Всем привет. В интернете нашла то, что мне надо.
А надо мне, чтобы после ввода фамилии, ими и отчества в поле Продавец, в закладке, которая справа от Фамилия и инициалы, появились фамилия и инициалы. Вроде все делаю как в описанном примере, но выскакивает ошибка 5224 неверное выделение.
Я то с макросами дел практически не имела, так что прошу помощи в нахождении ошибок. Мой шаблон во вложении. Всем спасибо.

[вложение удалено администратором]
Название: Re: Word VBA Макросы: Фамилия и инициалы.
Отправлено: Администратор от 23 августа 2017, 22:14
Вам обязательно надо, чтобы макрос запускался после выхода из поля?
Макрос можно запускать кнопкой.
Название: Re: Word VBA Макросы: Фамилия и инициалы.
Отправлено: Администратор от 23 августа 2017, 22:51
Могу предложить более современный способ, чем вы нашли в интернете. Этот будет работать в "Word 2007+" (тестировал в "Word 2016").
Здесь используется "элемент управления содержимым": вкладка "Разработчик" (по умолчанию её нет, её надо вам отобразить) - группа "Элементы управления" - Элемент управления содержимым "форматированный текст" и другие элементы.

Как тестировать. Введите в контрол "Продавец" фамилию, имя и отчество, щёлкните за пределами контрола, в контроле "Фамилия и инициалы" появится текст.

[вложение удалено администратором]
Название: Re: Word VBA Макросы: Фамилия и инициалы.
Отправлено: Администратор от 23 августа 2017, 22:57
Что касается вашего примера (который вы нашли в интернете). То по логике, т.к. стоит защита, то в закладку нельзя ничего вписать: ни юзер не может вписать, ни макрос.

При использовании команды:
ActiveDocument.Bookmarks("fio").Select
курсор остаётся в поле "Продавец", а не переходит в закладку "fio", т.к. стоит защита и можно перемещаться только по полям.

При вашей защите (когда можно вводить только в форму), могу предложить вам создать ещё одно поле. Только Selection.TypeText всё равно не будет работать, надо что-то другое написать.
И ещё некоторые моменты надо изменить в связи с использованием поля вместо закладки. Если не знаете как, то пишите, попробую помочь.
Название: Re: Word VBA Макросы: Фамилия и инициалы.
Отправлено: Irina18 от 24 августа 2017, 09:04
Огромное Вам спасибо. Хоть тут получила вразумительный ответ. Как работает Ваш пример меня очень устраивает. Хочу составить шаблоны для различных вариантов документов, но никогда этим не занималась и навыков не имею. Если еще что-то не будет получаться обращусь к Вам. Мне еще надо, чтобы была возможность в шаблоне дублировать часть текста (в одном месте пишу, например адрес, а в другом месте появляется этот фрагмент. Пока вот такая проблема. Еще раз спасибо.