Вопрос № 178691: Уважаемые эксперты подскажите, почему не присваивает значение объекту, вопросы по тексту скрипта: On Error Resume Next 'данная строка даёт возможность при появлении ошибки двигать-ся дальше Set Поле = ActiveDocument.FormFields("Дат...
Вопрос № 178694: Уважаемые эксперты подскажите можно ли и как указать в скрипте появиться форме не модально и чтобы она была постоянно, например, в таблице 1, строке 1, ячейке 1, в самом верху документа??? Спасибо Эндрю ...
Вопрос № 178691:
Уважаемые эксперты подскажите, почему не присваивает значение объекту, вопросы по тексту скрипта: On Error Resume Next 'данная строка даёт возможность при появлении ошибки двигать-ся дальше Set Поле = ActiveDocument.FormFields("Дата") 'требуется если пользователь поле удалил If Err.Number = 5941 Then Exit Sub 'условие, если возникла ошибка с номером ..., тогда ... Поле.Select 'выделить объект - поле с именем ... Поле.Result = "___" & Year(Now) & "
г." 'присваивание объекту - полю значения ... ?????? Поле.Result.Text = "___" & Year(Now) & " г." 'присваивание объекту - полю значения ... ?????? Set Поле = Nothing 'установка объекта в значение Nothing требуется для освобождения памяти, которая была выделена для создания этого объекта
Отвечает Измалков Эдуард Леонидович, Студент :
Здравствуйте, Ципихович Эндрю. FormFields - это поля форм. Добавляются они в документ, следующим образом: нужно в меню выбрать пункт "Вид", далее "Панели инструментов" и поставить галочку напротив пункта "Формы". Появится панель инструментов, к элементам которой, если их добавить в документ, можно будет обращаться указанным Вами способом. Если поля добавлены с панели иструментов "Элементы управления", либо с помощью пункта меню "Вставка" - "Поле",
то к этому элементу из VBA нужно обращаться с помощью оператора Fields. В Вашем случае поле скорее всего относится к последнему случаю. К элементам данной коллекции нельзя обращаться по имени, только с помощью индекса. Следовательно Вам нужно изменить код следующим образом:
Код:
ИндексПоля = ActiveDocument.Selection.Fields(1).Index ' индекс первого (нужно изменить, если требуется другое поле) поля в выделении Set Поле = ActiveDocument.Fields(ИндексПоля) Поле.Select ' выделить поле Поле.Result.Text = "____" & Year(Now) & " г." ' присваивание значения полю Set Поле = Nothing ' освобождение памяти
Ответ отправил: Измалков Эдуард Леонидович, Студент
Ответ отправлен: 27.05.2010, 16:11
Номер ответа: 261717
Вам помог ответ? Пожалуйста, поблагодарите эксперта за это! Как сказать этому эксперту "спасибо"?
Отправить SMS#thank 261717
на номер 1151 (Россия) |
Еще номера »
Вопрос № 178694:
Уважаемые эксперты подскажите можно ли и как указать в скрипте появиться форме не модально и чтобы она была постоянно, например, в таблице 1, строке 1, ячейке 1, в самом верху документа??? Спасибо Эндрю
Отвечает F®ost, Модератор :
Здравствуйте, Ципихович Эндрю. Свойство формы ShowModal - по умолчанию установлено в True и поэтому пользователь не может перейти к другим формам или вернуться в документ, пока не закроет эту форму. Чтобы убрать модальность формы установите это значение в False - форма перестанет быть модальной и позволит обращаться к листу и осуществлять, в том числе навигацию. Удачи!
----- От вопроса к ответу, от проблемы к решению
Ответ отправил: F®ost, Модератор
Ответ отправлен: 27.05.2010, 12:50
Номер ответа: 261709 Беларусь, Минск Тел.: 375292792018 Организация: Минский Промтранспроект Адрес: ул. В.Хоружей, 13, г. Минск, Беларусь Адрес сайта:Минский Промтранспроект
Вам помог ответ? Пожалуйста, поблагодарите эксперта за это! Как сказать этому эксперту "спасибо"?
Отправить SMS#thank 261709
на номер 1151 (Россия) |
Еще номера »
Оценить выпуск »
Нам очень важно Ваше мнение об этом выпуске рассылки!
* Стоимость одного СМС-сообщения от 7.15 руб. и зависит от оператора сотовой связи.
(полный список тарифов)
** При ошибочном вводе номера ответа или текста #thank услуга считается оказанной, денежные средства не возвращаются.
*** Сумма выплаты эксперту-автору ответа расчитывается из суммы перечислений на портал от биллинговой компании.