Подскажите, как правильно из VBA MSWord задать текст поля?
Поле создаю как
Set myRange = ActiveDocument.Range(ActiveDocument.Range.End - 1, ActiveDocument.Range.End)
Set openingBracesField = ActiveDocument.Fields.Add(myRange, wdFieldAddin, "OPENINGBRACESFIELD", False)
Таким образом, в конце документа появляется поле
{OPENINGBRACESFIELD}
Нажав Alt+F9, оно исчезает.
Некоторые поля, вроде
{DATE} содержат текст с форматированием (например 12.12.10), который и выводится при печати. При нажатии Alt+F9, текст {DATE} заменится на то, что будет напечатано (12.12.10)
Как можно
программно задать этот текст в поле?
Делаю так (1):
openingBracesField.Result.Select
Selection.TypeText "MyFieldText"
Получаю текст MyFieldText
после поля, то есть
{OPENINGBRACESFIELD}MyFieldText
причем этот текст не исчезает при нажатии Alt+F9
Подскажите, что я делаю не так? Как задать текст для поля?
Извините, если слишком дотошно описал проблему. Мне казалось, так понятнее. Спасибо
Здравствуйте, Аноним, Вы писали:
А>Подскажите, как правильно из VBA MSWord задать текст поля?
А>Поле создаю как
А>А>Set myRange = ActiveDocument.Range(ActiveDocument.Range.End - 1, ActiveDocument.Range.End)
А>Set openingBracesField = ActiveDocument.Fields.Add(myRange, wdFieldAddin, "OPENINGBRACESFIELD", False)
А>
А>Таким образом, в конце документа появляется поле {OPENINGBRACESFIELD}
А>Нажав Alt+F9, оно исчезает.
А>Некоторые поля, вроде {DATE} содержат текст с форматированием (например 12.12.10), который и выводится при печати. При нажатии Alt+F9, текст {DATE} заменится на то, что будет напечатано (12.12.10)
А>Как можно программно задать этот текст в поле?
А>Делаю так (1):
А>А>openingBracesField.Result.Select
А>Selection.TypeText "MyFieldText"
А>
А>Получаю текст MyFieldText после поля, то есть
А>А>{OPENINGBRACESFIELD}MyFieldText
А>
А>причем этот текст не исчезает при нажатии Alt+F9
А>Подскажите, что я делаю не так? Как задать текст для поля?
А>Извините, если слишком дотошно описал проблему. Мне казалось, так понятнее. Спасибо
Нужно поставить значение поля docvariable и выставить какую нибудь переменную, и потом этой переменной задать значение
ActiveDocument.Variables.Item("<имя переменной>").Value= "<значение>"