Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Как узнать названия цветов?

248
07 декабря 2006 года
Dmitry2064
590 / / 06.12.2006
Я задаю в макросе Ворда поиск заданного текста в том числе и по цвету. В Ворде он называется "темно-синий", а в VB надо писать Dark Blue. Но в Ворде мне надо находить также и "темно-сизый" цвет. Как такой цвет будет называться в VB? И вообще, как узнать VB-эквиваленты названий цветов? Тех, которые отображаются, когда в Ворде мы открываем диалог свойств шрифта.

Спасибо.
267
07 декабря 2006 года
Cutty Sark
1.2K / / 17.10.2002
Покрасить в нужный цвет, а потом спросить:
MsgBox ActiveDocument.Words(1).Font.ColorIndex
248
07 декабря 2006 года
Dmitry2064
590 / / 06.12.2006
Цитата: Cutty Sark
Покрасить в нужный цвет, а потом спросить:
MsgBox ActiveDocument.Words(1).Font.ColorIndex



Сейчас попробуим! :)

248
07 декабря 2006 года
Dmitry2064
590 / / 06.12.2006
Итак. В результате проведенных изысканий получены след. данные.:cool:
Всего возможных цветов, задаваемых программно 16
[COLOR="Navy"]"WdColorIndex can be one of these WdColorIndex constants"[/COLOR] (16 штук)
При попытке назвать индекс цвета, не входящего в данный список выдается индекс последнего цвета на момент отладки. :(

Это весьма прискорбно. Выходит, что назначить цвет программно можно только из 16 вариантов.

Эврика! Есть свойство не [COLOR="Navy"]WdColorIndex[/COLOR], а [COLOR="Navy"]WdColor[/COLOR]. Там уже больше 50 вариантов. Будем рыть там...

Большое спасибо за подсказочку... [COLOR="Blue"](терпенье и хороший прут :p все проблемы перепрут!)[/COLOR]
248
07 декабря 2006 года
Dmitry2064
590 / / 06.12.2006
Окончательная и бесповоротная Эврика!
Я задал цвет темно-сизый и получил его номер:
[COLOR="Navy"]MsgBox ActiveDocument.Words(1).Font.Color[/COLOR]
Ответ: [COLOR="DarkSlateBlue"]6697728[/COLOR]. А при др. цветах были и 8-значные числа.
Осталось понять алгоритм нумерации (ну это так, для развлечения). Но, видимо, можно номером назначить любой цвет, который доступен в диалоговом окошке "Быбрать др. цвет"!
Вот где копаться-то... :D
267
07 декабря 2006 года
Cutty Sark
1.2K / / 17.10.2002
Цитата: Dmitry2064
Окончательная и бесповоротная Эврика!
Я задал цвет темно-сизый и получил его номер:
[COLOR="Navy"]MsgBox ActiveDocument.Words(1).Font.Color[/COLOR]
Ответ: [COLOR="DarkSlateBlue"]6697728[/COLOR]. А при др. цветах были и 8-значные числа.
Осталось понять алгоритм нумерации (ну это так, для развлечения). Но, видимо, можно номером назначить любой цвет, который доступен в диалоговом окошке "Быбрать др. цвет"!
Вот где копаться-то... :D




С этим-то как раз просто:
Цвет RGB. Каждая из трёх составляющих - красная, зелёная и синяя - это число от 0 до 255.
Формула общего цвета: Color = R + 256*G + 256*256*B
В тёмно-сизом 0 красного, 51 зелёного и 102 синего.
В VBA есть даже специальная функция: RGB(red, green, blue), которая считает вышеуказанную линейную комбинацию.

267
07 декабря 2006 года
Cutty Sark
1.2K / / 17.10.2002
Я бы тебе сразу про это сказал, но думал, что хочешь именно НАЗВАНИЯ фиксироввнного набора вордовских цветов.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог