我正在尝试从powerpoint幻灯片中提取项目符号文本。但我找不到任何有用的功能,可以提供有关当前行是否在子弹列表中的信息。我尝试使用缩进级别来识别它,但我发现它也没用。
例如:
如果幻灯片包含如下文字:
Abcdefg...
. B
. C
. D
.E
在这里,有5个段落,如果得到每个段落的缩进级别,它将变为:
Paragraph IndentLevel
Abcdefg... 1
B 1
C 1
D 2
E 3
这里,前三段有相同的缩进级别,但只有B和C在项目符号列表中,所以我的程序应该是B,c,D,E。
在这里,我没有办法弄清楚这个段落是否以子弹开头。
你能帮忙吗?
谢谢, 凯拉斯
我用于检索文本的代码
public void analyzeText( PowerPoint.Shape shape )
{
if( shape.HasTextFrame == Office.MsoTriState.msoTrue && shape.TextFrame.HasText == Office.MsoTriState.msoTrue )
{
PowerPoint.TextRange textRange = shape.TextFrame.TextRange;
string text = textRange.Text;
MessageBox.Show(text);
for( int i=1; i<=textRange.Paragraphs().Count; i++)
{
MessageBox.Show("Paragram COunt : " + textRange.Paragraphs(i).Text + " Indent " + textRange.Paragraphs(i).IndentLevel);
}
}
}
答案 0 :(得分:1)
您可以使用此方法确定段落是否带项目符号:
blnBullet = oShp.TextFrame.TextRange.Paragraphs(x).ParagraphFormat.Bullet
答案 1 :(得分:0)
感谢JamieG帮忙。你的回答给了我一些暗示。以下是我能够解决这个问题的方法:
PowerPoint.BulletFormat bulletFormat = textRange.Paragraphs(x).ParagraphFormat.Bullet;
if( bulletFormat.Type == PowerPoint.PpBulletType.ppBulletNone )
// Not Bulleted
else
// Bulleted