Форум пользователей Visio http://visio.getbb.ru/ |
|
Форматирование абзацев http://visio.getbb.ru/viewtopic.php?f=6&t=1642 |
Страница 1 из 1 |
Автор: | Maluy Alex [ 15 ноя 2020, 00:17 ] |
Заголовок сообщения: | Форматирование абзацев |
Доброго времени суток! Подскажите пожалуйста можно ли внутри одного шейпа отформатировать абзацы по разному. Например, 1-й по ширине, 2-й по центру и 3-й выровнять по левому краю. Как применить форматирование ко всему шейпу я понял, а непосредственно к тексту не разобрался. |
Автор: | Tumanov [ 15 ноя 2020, 00:46 ] | ||
Заголовок сообщения: | Re: Форматирование абзацев | ||
Вот как это выглядит в шейп-листе. И справка на эту тему - https://docs.microsoft.com/en-us/office ... ph-section
|
Автор: | nbelyh [ 15 ноя 2020, 01:38 ] |
Заголовок сообщения: | Re: Форматирование абзацев |
Конечно можно. ![]() |
Автор: | Maluy Alex [ 05 дек 2020, 21:33 ] |
Заголовок сообщения: | Re: Форматирование абзацев |
Доброго времени суток! Никак не получается. Если не затруднит приведите пожалуйста кусочек кода в котором в шейп добавляется 2 абзаца. Например: 1 абзац с текстом 1111 выравнивание по центру и выделен жирным 2 абзац с текстом 2222 выравнивание по правому краю и выделен курсивом |
Автор: | Tumanov [ 05 дек 2020, 21:59 ] |
Заголовок сообщения: | Re: Форматирование абзацев |
В Visio можно записывать макросы. То есть включить запись, сделать что-то вручную и посмотреть, как Visio превратит это в код. Потом можно оптимизировать. Вот Ваш пример (без оптимизации, только Undo выбросил): Код: Sub Macro1()
Dim vsoCharacters1 As Visio.Characters Set vsoCharacters1 = Application.ActiveWindow.Page.Shapes.ItemFromID(1).Characters vsoCharacters1.Begin = 0 vsoCharacters1.End = 0 vsoCharacters1.Text = "1111" Application.ActiveWindow.Page.Shapes.ItemFromID(1).CellsSRC(visSectionCharacter, 0, visCharacterStyle).FormulaU = "17" Application.ActiveWindow.Page.Shapes.ItemFromID(1).CellsSRC(visSectionCharacter, 0, visCharacterDblUnderline).FormulaU = "FALSE" Application.ActiveWindow.Page.Shapes.ItemFromID(1).CellsSRC(visSectionCharacter, 0, visCharacterOverline).FormulaU = "FALSE" Application.ActiveWindow.Page.Shapes.ItemFromID(1).CellsSRC(visSectionCharacter, 0, visCharacterStrikethru).FormulaU = "FALSE" Application.ActiveWindow.Page.Shapes.ItemFromID(1).CellsSRC(visSectionCharacter, 0, 11).FormulaU = "FALSE" Application.ActiveWindow.Page.Shapes.ItemFromID(1).CellsSRC(visSectionCharacter, 0, visCharacterDoubleStrikethrough).FormulaU = "FALSE" Application.ActiveWindow.Page.Shapes.ItemFromID(1).CellsSRC(visSectionCharacter, 0, visCharacterRTLText).FormulaU = "FALSE" Application.ActiveWindow.Page.Shapes.ItemFromID(1).CellsSRC(visSectionCharacter, 0, visCharacterUseVertical).FormulaU = "FALSE" Dim vsoCharacters4 As Visio.Characters Set vsoCharacters4 = Application.ActiveWindow.Page.Shapes.ItemFromID(1).Characters vsoCharacters4.Begin = 4 vsoCharacters4.End = 4 vsoCharacters4.Text = "" & Chr(10) & "2222" Dim vsoCharacters5 As Visio.Characters Set vsoCharacters5 = Application.ActiveWindow.Page.Shapes.ItemFromID(1).Characters vsoCharacters5.Begin = 5 vsoCharacters5.End = 9 vsoCharacters5.ParaProps(visHorzAlign) = 2# Dim vsoCharacters7 As Visio.Characters Set vsoCharacters7 = Application.ActiveWindow.Page.Shapes.ItemFromID(1).Characters vsoCharacters7.Begin = 5 vsoCharacters7.End = 9 vsoCharacters7.CharProps(visCharacterStyle) = 51# End Sub |
Автор: | Tumanov [ 05 дек 2020, 22:15 ] |
Заголовок сообщения: | Re: Форматирование абзацев |
Или после оптимизации Код: Sub Macro1()
Dim vsChar As Visio.Characters Dim shp As Visio.Shape Set shp = ActiveWindow.Selection(1) shp.Characters.Text = "1111" & Chr(10) & "2222" Set vsChar = shp.Characters With vsChar .Begin = 0 .End = 4 .ParaProps(visHorzAlign) = 1# .CharProps(visCharacterStyle) = 17# .Begin = 5 .End = 9 .ParaProps(visHorzAlign) = 2# .CharProps(visCharacterStyle) = 34# End With End Sub |
Автор: | Maluy Alex [ 06 дек 2020, 16:51 ] |
Заголовок сообщения: | Re: Форматирование абзацев |
Огромное спасибо! К сожалению так и не нашел как в 2016 visio включить запись макроса. Вроде все посмотрел, может как всегда на самом видном месте и пропустил. |
Автор: | Surrogate [ 06 дек 2020, 17:03 ] |
Заголовок сообщения: | Re: Форматирование абзацев |
Maluy Alex писал(а): К сожалению так и не нашел как в 2016 visio включить запись макроса. А вкладка ленты Разработчик у вас активирована ?phpBB [media] Maluy Alex писал(а): Вроде все посмотрел, может как всегда на самом видном месте и пропустил. ![]() |
Автор: | Maluy Alex [ 12 дек 2020, 18:05 ] |
Заголовок сообщения: | Re: Форматирование абзацев |
Всем огромное спасибо за помощь. Все нашел и все получилось. |
Страница 1 из 1 | Часовой пояс: UTC + 3 часа [ Летнее время ] |
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |