У меня есть макрос в документе Word, который создает нижний колонтитул на основе закладок. Работает, за исключением одной детали: в одном из полей Ref в нижнем колонтитуле, шрифт всегда неверный после обновления.

Размер должен быть 6, как остальная часть нижнего колонтитула, но 9,5, как оригинальный текст. Это происходит только с одним полем. Я проверил, что знак абзаца и вся строка отформатированы правильно. Я даже скопировал одну из закладок функций и адаптировал их, но размер шрифта всегда неправильный.

Проблема возникает на нескольких компьютерах.

Я отказался от решения исходной проблемы, потому что у меня заканчиваются идеи. Теперь я хочу добавить в макрос некоторый код, который будет применять определенный стиль (или шрифт) к нижнему колонтитулу.

Что я пробовал до сих пор:

  • Я создал стиль для нижнего колонтитула (называемый footer1) - до этого он не был определен
  • Я баловался с VBA и гуглил несколько часов безрезультатно.
  • Отключение / включение переключателей полей слияния в Ref-поле
  • Поиск Google для "применить стиль к слову нижнего колонтитула vba"

Неудачные попытки:

ActiveDocument.Sections(ActiveDocument.Sections.Count) _
        .Footers(1).Range.Style("footer1")

Вот код:

ActiveDocument.Fields.Update
ActiveDocument.Sections(ActiveDocument.Sections.Count) _
        .Footers(1).Range.Fields.Update
' code needed here for changing footer's style to "footer1" 
' Alternative: apply style only to faulty ref field.

Спасибо за вашу помощь.

Я могу сделать небольшие изменения в макросах VBA в крайнем случае, но я не эксперт. Я просто не нашел ничего, что мог бы приспособить к своим потребностям.

1 ответ1

4

Чтобы изменить размер шрифта для определенного нижнего колонтитула в Word, используйте Range.Font.Si‌​ze

ActiveDocument.Sections(1).Footers(1).Range.Font.Size = 6

Синтаксис объяснил

  • ActiveDocument: объект Document, представляющий активный документ. Другими способами доступа к файлам Word являются Документ (индекс) или Документ ("Полное имя")

  • ,Разделы (индекс). Раздел - это сложное понятие в Word. Пользователи могут вставлять разделы в документ, чтобы они могли изменять форматирование в определенной области документа. Ручные разрывы и разрывы разделят вашу страницу на отдельные разделы, каждый из которых может иметь различное форматирование. Изменение свойств одного нижнего колонтитула не всегда означает, что все нижние колонтитулы изменены.
    Читайте здесь для получения дополнительной информации.

    В VBA, при использовании Sections.Count в качестве параметра индекса для .Sections(index) , он всегда будет представлять последний раздел вашего документа

  • ,Нижние колонтитулы (индекс): представляет одну область нижнего колонтитула в верхнем, нижнем или боковых полях каждой страницы документа. Другими обычно используемыми свойствами для разделов являются border , header или range который обозначает полное тело в данном разделе.

  • Колонтитулы (индекс).Диапазон: представляет часть документа, которая содержится в указанном верхнем или нижнем колонтитуле. Обратите внимание на разницу в Sections(index).range

  • Шрифт.Si‌ze: Одно из многих свойств, которые может иметь шрифт. Другими общими свойствами нижних колонтитулов являются Words(index) для изменения конкретных слов, Fields или просто Text для чтения в полном тексте нижнего колонтитула.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .