Здравcтсвуйте!
Нижеприведенные рассуждения относятся к пользователям Word 2003 и более ранних версий.
Я пишу текст и вставляю в него рисунки и добавляю к рисункам Названия типа "Рис. N", где N - это номер рисунка. Название "Рис." я создал сам, так как на мой взгляд оно выглядит лучше стандартного названия "Рисунок". Теперь я хочу создать на это название перекрестную ссылку в тексте. Делаю это с помощью меню "Вставка-Ссылка-Перекрестная ссылка". После чего в тексте у меня появляется ссылка типа "Рис. N". Однако в русских текстах, в отличие от иностранных, для которых и создавался MS Word, в тексте принято писать не "см. Рис. N", а "см. рис. N". Поэтому встала задача изменения регистра первой буквы перекрестной ссылки с большого на малый. Для этого можно воспользоваться так называемыми ключами формата полей, которых в MS Word по официальной версии существует 4:
\* Caps
Преобразует в прописную первую букву каждого слова. Например, { FILLIN "Введите свое имя:" \* Caps } возвращает «Дмитрий Петров», даже если имя было введено строчными буквами.
\* FirstCap
Преобразует первую букву первого слова в прописную. Например, { COMMENTS \* FirstCap } возвращает «Эвристическая машина для решения инженерных и других проблем».
\* Upper
Преобразует в прописные все буквы. Например, { QUOTE "факт" \* Upper } возвращает «ФАКТ».
\* Lower
Все буквы становятся строчными. Например, { FILENAME \* Lower } возвращает «отчет за четвертый квартал.doc» Я попробовал исползовать ключ \* Lower. И уже начал радоваться, что проблема решена, однако быстро выяснилась новая недоделка. Если включать в название рисунка название главы или раздела, и если название главы или раздела дается на арабскими цифрами, а, например римскими , то получается следующее:
без ключа \* Lower ссылка выглядит так : "Рис. XI-4",
а с ключом \* Lower ссылка выглядит так : "рис. xi-4".
Это не очень хорошо, когда номера глав даются любыми буквами, так ссылка будет выглядеть так: "рис. b-4", что совсем недопустимо.
По сему задача зменения регистра первой буквы перекрестной ссылки с большого на малый остается нерешенной. Как вы можете видеть в списке ключей формата есть ключ \* FirstCap, который "Преобразует первую букву первого слова в прописную". Так вот для решения этой задачи нужен аналог ключа \* FirstCap, который бы преобразовывал первую букву первого слова в строчную. Такого ключа в стандартном наботе нет... :angry:
По сему следует вопрос - может быть кто-нибудь из вас сталкивался с этим, может быть ести какой-нибудь недокументированный ключ формата полей в Word? Ведь наверняка в Word используется библиотека полей стороннего производителя, а не Microsoft...
Если нет, то скажите пожалуйста, как с помощью VBA перехватывать вывод ссылки на экран и изменть текст содержания ссылка, меняя первую букву на строчную.
P. S.: В шапке темы не работают следущие ссылки:
http://infocity.kiev.ua/prog/other/content/progother007.phtml?id=743