При работе с текстовыми документами мне часто приходится изменять междустрочный интервал. Постоянно открывать для этого соответствующее меню мне надоело. Поэтому я подумал:«А как сделать, чтобы интервал задавать числом? 2 — для двойного интервала, 1 — для одинарного, или просто конкретное значение?»
Во-первых, поместить на ленту поле editbox.
Вот так, например:
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEilEZVveQYDBv_J_U6b9_2C1KdeRDEUJqr5F_1tCr44LltbdCPf_3zImDmsktwEZyKxHxSLh2p3XSyJh4dTntWj8PmZALshaHZk6hEO6el1JNj-R8s5rBw_reCgJwHGGmb7FGmM3tIsHa4O/s400/editboxonribbon.png)
Во-вторых, написать код макроса, который бы брал текст из поля и соответственно устанавливал междустрочный интервал. Довольно долгие поиски дали вот такой результат (с этого сайта):
Как видно код очень даже не сложный, но очень сложно вообще откопать информацию, особенно на русском языке, по работе с новым интерфейсом. На MSDN при вводе в поле поиска фразы «ribbon vba» страница просто закрывалась. Прямо масонский заговор![](https://lh3.googleusercontent.com/blogger_img_proxy/AEn0k_tysU_hB1csOq52FuOVmfovhPEGyqASjd6ZrzkGvprsxUMeni9HvMN-W_rKOREVitQeA8DV5TbUC1YWPAQYU65tCoc7=s0-d)
Итак, весь секрет заключался в параметре text, который очень не очевиден, и просто объявляется.
Теперь задача в другом: как выставлять значение в этом поле в соответствии со строчным интервалом уже выделенного текста? И все это только средствами VBA.
Во-первых, поместить на ленту поле editbox.
Вот так, например:
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEilEZVveQYDBv_J_U6b9_2C1KdeRDEUJqr5F_1tCr44LltbdCPf_3zImDmsktwEZyKxHxSLh2p3XSyJh4dTntWj8PmZALshaHZk6hEO6el1JNj-R8s5rBw_reCgJwHGGmb7FGmM3tIsHa4O/s400/editboxonribbon.png)
Во-вторых, написать код макроса, который бы брал текст из поля и соответственно устанавливал междустрочный интервал. Довольно долгие поиски дали вот такой результат (с этого сайта):
Sub УстановитьМежстрочныйИнтервал(editbox As IRibbonControl, text As String)/> Selection.ParagraphFormat.LineSpacing = LinesToPoints(Val(text)) End Sub
Как видно код очень даже не сложный, но очень сложно вообще откопать информацию, особенно на русском языке, по работе с новым интерфейсом. На MSDN при вводе в поле поиска фразы «ribbon vba» страница просто закрывалась. Прямо масонский заговор
Итак, весь секрет заключался в параметре text, который очень не очевиден, и просто объявляется.
Теперь задача в другом: как выставлять значение в этом поле в соответствии со строчным интервалом уже выделенного текста? И все это только средствами VBA.
Комментариев нет :
Отправить комментарий