创建自定义样式

时间:2012-01-23 14:55:51

标签: vsto powerpoint

有没有办法在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 个答案:

答案 0 :(得分:1)

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