我正在使用 Microsoft Office Interope 程序集使用 c# 从 .pptx 和 .ppt 文件中提取功能。我能够提取有关形状、动画的详细信息,但无法提取有关 ppt 或 pptx 包含哪些类型的项目符号或哪些幻灯片包含项目符号等的详细信息。
请帮我找到这个。提前致谢。
我正在使用 Microsoft Office Interope 程序集使用 c# 从 .pptx 和 .ppt 文件中提取功能。我能够提取有关形状、动画的详细信息,但无法提取有关 ppt 或 pptx 包含哪些类型的项目符号或哪些幻灯片包含项目符号等的详细信息。
请帮我找到这个。提前致谢。
有几种方法。在下面的代码中,您可以看到可以在程序中访问的文本的属性:
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 中进行文本处理的更多详细信息。
在 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 之后键入点时,智能感知将向您显示可用的属性。