0

我正在使用 Microsoft Office Interope 程序集使用 c# 从 .pptx 和 .ppt 文件中提取功能。我能够提取有关形状、动画的详细信息,但无法提取有关 ppt 或 pptx 包含哪些类型的项目符号或哪些幻灯片包含项目符号等的详细信息。

请帮我找到这个。提前致谢。

4

2 回答 2

0

有几种方法。在下面的代码中,您可以看到可以在程序中访问的文本的属性:

ppTextBox.TextFrame2.TextRange.ParagraphFormat.Bullet.Type =
    Office.MsoBulletType.msoBulletNumbered;
ppTextBox.TextFrame2.TextRange.ParagraphFormat.Bullet.Style =
    Office.MsoNumberedBulletStyle.msoBulletAlphaLCParenBoth;

ppTextBox.TextFrame2.TextRange.ParagraphFormat.Bullet.StartValue = 4;
ppTextBox.TextFrame2.TextRange.ParagraphFormat.Bullet.UseTextColor =
    Office.MsoTriState.msoTrue;
ppTextBox.TextFrame2.TextRange.ParagraphFormat.Bullet.UseTextFont =
    Office.MsoTriState.msoTrue;

其中 ppTextBox 是一个形状对象,并注意使用 TextFrame2 而不是 TextFrame。您可以针对枚举列表 Office.MsoBulletType 查询 ParagraphFormat.Bullt.Type 以查看已应用哪个。

有关更多详细信息,请查看此页面以获取有关使用 C# 在 powerpoint 中进行文本处理的更多详细信息。

于 2013-03-06T21:44:24.663 回答
0

在 VBA 中,你会做这样的事情来检查幻灯片 1 上的项目符号

Dim oSh As Shape
Dim x As Long ' Integer in C#?
For Each oSh In ActivePresentation.Slides(1).Shapes
    With oSh
        If .HasTextFrame Then
            If .TextFrame.HasText Then
                With .TextFrame2.TextRange
                    For x = 1 To .Paragraphs.Count
                        Debug.Print .Paragraphs(x).ParagraphFormat.Bullet.[Various properties]

                    Next
                End With
            End If
        End If
    End With
Next

查看 PPT VBA 编辑器中的代码。当您在上面的 Bullet 之后键入点时,智能感知将向您显示可用的属性。

于 2013-02-09T23:32:11.530 回答