【问题标题】:Creating custom styles创建自定义样式
【发布时间】:2012-01-23 14:55:50
【问题描述】:

有没有一种方法可以在 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 中它们出现在“主页”选项卡上)。

【问题讨论】:

    标签: vsto powerpoint


    【解决方案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
    

    【讨论】:

    • 谢谢。有没有办法访问 PowerPoint 幻灯片中的选定文本或活动段落之类的内容?以及如何将样式(如粗体、缩进等)应用于该文本?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-15
    • 2015-03-22
    • 2023-03-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多