Ну, .Font.Color
наверняка раньше работал, по крайней мере, в WD2007 - WD2013.Он вернул длинное значение, которое было либо конкретным RGB для не-тематических цветов, либо эквивалентом значения HEX комбинации цвета и оттенка темы (или оттенка).Тони Джолланс написал подробную статью для Word 2007, в которой приведены все подробные сведения о цветах темы.
.Font.Color
не имеет документов, поскольку он устарел и после тестирования в Word 365 могу подтвердитьчто он больше не работает, как раньше.Теперь он возвращает только цвет темы, а не оттенок или оттенок.
@ Синди Мейстер предложила .Font.TextColor
, что звучит так, как будто оно должно давать нужные вам значения.К сожалению, хотя он возвращает объект ColorFormat
, полный свойств .ObjectThemeColor
, .Brightness
и .TintAndShade
, единственная действительная информация, которую вы получите, - от .ObjectThemeColor
, так что это не даст вам того, что вам нужно.
Чтобы получить всю необходимую вам информацию, вам необходимо отложить логику и изучить .Font.Fill.ForeColor
.(Например, действительно ?! Шрифт имеет заливка цвет ??). Это также вернет объект ColorFormat
, но на этот раз все свойства вернут действительные данные.
Поэтому вам следует изменить:
rDestinationRange.Font.Color = rSourceColourRange.Font.Color
на:
With rDestinationRange.Font.Fill.ForeColor
.ObjectThemeColor = rSourceColourRange.Font.Fill.ForeColor.ObjectThemeColor
.Brightness = rSourceColourRange.Font.Fill.ForeColor.Brightness
End With
Для полноты свойство .Brightness
возвращает значение -1 для 100% (т.е. без оттенка или оттенка)0,6 для 40% светлее, 0,4 для 60% светлее и т. Д. Отрицательные значения используются для оттенков с -0,75, что на 25% темнее и -0,5 на 50% темнее.
Также можно установить .Brightness
значения, которые не соответствуют значениям в палитре, например, 0,25 для 75% светлее или -0,9 для 10% темнее.