Во-первых, поместить на ленту поле editbox.
Вот так, например:

Код для вставки поля для редактирования Копировать код без номеров строк
1 <editBox id="__SetLineSpacing"
2 onChange="Macroses.УстановитьМежстрочныйИнтервал"
3 supertip="Укажите число для междустрочного интервала"/>
2 onChange="Macroses.УстановитьМежстрочныйИнтервал"
3 supertip="Укажите число для междустрочного интервала"/>
Во-вторых, написать код макроса, который бы брал текст из поля и соответственно устанавливал междустрочный интервал. Довольно долгие поиски дали вот такой результат (с этого сайта):
Код VBA Копировать код без номеров строк
1 Sub УстановитьМежстрочныйИнтервал(editbox As IRibbonControl, text As String)
2 Selection.ParagraphFormat.LineSpacing = LinesToPoints(Val(text))
3 End Sub
2 Selection.ParagraphFormat.LineSpacing = LinesToPoints(Val(text))
3 End Sub
Как видно код очень даже не сложный, но очень сложно вообще откопать информацию, особенно на русском языке, по работе с новым интерфейсом. На MSDN при вводе в поле поиска фразы «ribbon vba» страница просто закрывалась. Прямо масонский заговор
Итак, весь секрет заключался в параметре text, который очень не очевиден, и просто объявляется.
Теперь задача в другом: как выставлять значение в этом поле в соответствии со строчным интервалом уже выделенного текста? И все это только средствами VBA.
0 коммент.:
Отправить комментарий