У меня есть макрос-код, который в основном создает несколько таблиц, затем вводит некоторый текст в некоторых из них, а затем помещает несколько текстовых заполнителей. Проблема появляется, когда я пытаюсь применить стили к тексту. Сначала я подумал, что код не влияет только на заполнители. Но кажется, что обычный текст, выделенный макросом, также не применяется.
Код в основном выглядит следующим образом:
Selection.TypeText Text:="Entreprisecost:"
Selection.MoveRight Unit:=wdCell
Set cc = Selection.Range.ContentControls.Add(wdContentControlText)
cc.SetPlaceholderText Text:="Description of the cost"
cc.DefaultTextStyle = "EnterpriseStyle"
Selection.Style = ActiveDocument.Styles("EnterpriseStyle")
Обратите внимание, как я определяю стиль как для заполнителя, так и для выделения.
Далее я попытался записать простой макрос, в котором я выделяю всю строку, а затем применяю стиль к выделению. Это работает, когда я записываю. Но это не работает, когда я запускаю макрос. Странно:
Selection.MoveUp Unit:=wdLine, Count:=5, Extend:=wdExtend
Selection.Style = ActiveDocument.Styles("ExperienceStyle")
Почему это происходит? В моих настройках безопасности макросов задано значение по умолчанию, но я, конечно, решил включить макросы после открытия шаблона. Это происходит, когда я открываю сам шаблон и когда дважды щелкаю его, чтобы создать новый документ на основе шаблона. Есть идеи?
Редактировать: каждый бит макроса работает, кроме применения стилей. Код, который применяет стиль, запускается, текст не меняется. И когда я выбираю текст, чтобы проверить, в каком стиле он находится, я вижу, что стиль применяется. Но это не в то же время. Странно, если я выделю текст, а затем вручную повторно применю стиль, то есть, нажимая на тот же стиль, который уже выбран, ТОГДА я вижу, что стиль действительно применяется.
Как будто стиль устанавливается без его фактического применения.