Мне удалось изменить цвет фона таблиц Word в теле документа с помощью: oSourceTable.Shading.BackgroundPatternColor = wdRed
. Однако тот же код не работает для таблиц Word верхнего или нижнего колонтитула. Я также попытался установить цвет задней части раздела, но безрезультатно. Код выполняется, но верхние и нижние колонтитулы всегда отображаются с белым фоном.
Я работал в основном с Excel VBA и лишь немного с Word VBA, так что, возможно, мне здесь не хватает чего-то очевидного. Заранее благодарим за любые идеи и / или предложения.
В соответствии с просьбой, вот код, который я использую. vTableBackColors - это просто набор цветов. Этот код предназначен для основных таблиц и работает отлично.
For Each oWordTable In oWordDoc.Tables
lIndex = lIndex + 1
oWordTable.Shading.BackgroundPatternColor = vTableBackColors(lIndex)
Next
Я пытался сделать то же самое для таблиц верхнего и нижнего колонтитулов, но это не сработало. Я пробовал использовать таблицы верхнего / нижнего колонтитула, как показано ниже.
For Each oWordSection In oWordDoc.Sections
For Each oWordTable In oWordSection.Headers.Item(wdHeaderFooterPrimary).Range.Tables
' I selected this one to see if it would make a difference.
oWordTable.Select
oWordTable.Shading.BackgroundPatternColor = m_HeaderBackColor
Next
For Each oWordTable In oWordSection.Footers.Item(wdHeaderFooterPrimary).Range.Tables
oWordTable.Shading.BackgroundPatternColor = m_FooterBackColor
Next
Next
Я также пробовал напрямую использовать верхние / нижние колонтитулы раздела. До и после проверки видно, что BackgroundPatternColor изменился по желанию, но не отображается.
oWordSection.Headers.Item(wdHeaderFooterPrimary).Range.Shading.BackgroundPatternColor = m_HeaderBackColor
Вот снимок экрана, на котором показаны раскрашенные таблицы основного текста и неизмененный заголовок. Возможно ли, что, в отличие от цветов основной таблицы, цвета верхнего / нижнего колонтитула никогда не отображаются как таковые дизайнером Word, а являются истинными только во время выполнения?
Спасибо за любую дополнительную информацию.