Создание пользовательских стилей - PullRequest
0 голосов
/ 23 января 2012

Есть ли способ создания стилей в PowerPoint VSTO для форматирования текста, что-то похожее на то, что возможно с документом Word:

// document is of type Microsoft.Office.Interop.Word.Document
Style sectionHeadingExt = document.Styles.Add("myStyle"); 
sectionHeadingExt.set_BaseStyle(SectionHeadingInt);
sectionHeadingExt.Font.Size = 14;
sectionHeadingExt.Font.Color = WdColor.wdColorBlack;
sectionHeadingExt.Font.Bold = (int)MsoTriState.msoFalse;
sectionHeadingExt.ParagraphFormat.LineSpacingRule = WdLineSpacing.wdLineSpaceMultiple;
sectionHeadingExt.ParagraphFormat.LineSpacing = _application.LinesToPoints((float)1.11);
sectionHeadingExt.ParagraphFormat.SpaceBefore = 0;
sectionHeadingExt.ParagraphFormat.SpaceAfter = 0;

Мне нужно создать собственную вкладку ленты, добавить туда кнопку,и когда эта кнопка нажата, мне нужно соответствующим образом отформатировать выделенный абзац:

GetCurrentParagraph().set_Style("myStyle");

Я сделал это в Word AddIn, но возможно ли это с PowerPoint?Также я не вижу опции Стили / Изменить стили в PowerPoint (в Word они отображаются на вкладке "Главная").

1 Ответ

1 голос
/ 23 января 2012

Word имеет функцию стилей;PowerPoint этого не делает, поэтому невозможно сделать это так же, как в Word.

Возможно, вам понадобится написать код, чтобы подобрать и сохранить различные атрибуты, которые определяют, какой кусоктекста выглядит следующим образом (имя шрифта, размер, полужирный / курсив, межстрочный интервал, интервал между абзацами, цвет и т. д.) и код для применения сохраненных атрибутов к другому фрагменту текста.

(и ваш следующий комментарий)... Да.

Dim oRng As TextRange

' Is text selected? If so, work with it, else quit:

With ActiveWindow.Selection
If .Type = ppSelectionText Then
    Set oRng = .TextRange
Else
    Exit Sub
End If
End With    ' Selection

With oRng
    With .Font
        .Bold = True
        .Size = 24 ' point
        ' and so on
    End With
End With    ' oRng
...