我搜索了一下,前面都没有正解,有几位朋友只给了链接(还是没解),连msdn上的VBA也没有直说。我只是想把ppt文件中的纯文本提取出来,显示在RichTextBox,求各位指点一下。下面是不行的代码,帮忙改一下也可以,谢谢!!!string fileName = "e:\\test.ppt";PowerPoint.Application pptApp = new PowerPoint.ApplicationClass();
PowerPoint.Presentation pptPre = pptApp.Presentations.Open(fileName,
Microsoft.Office.Core.MsoTriState.msoTrue,
Microsoft.Office.Core.MsoTriState.msoFalse,
Microsoft.Office.Core.MsoTriState.msoFalse);
//string[] strKeyWordList = {"Queenie"}; //要搜索的文本PowerPoint.TextRange oText = null;foreach(PowerPoint.Slide slide in pptPre.Slides)
{
foreach(PowerPoint.Shape shape in slide.Shapes)
{
richTextBox1.Text = slide.Shapes[0].TextFrame.TextRange.Text; /*
foreach(string strKeyWord in strKeyWordList)
{
oText = shape.TextFrame.TextRange.Find(strKeyWord, 0,
Microsoft.Office.Core.MsoTriState.msoFalse,
Microsoft.Office.Core.MsoTriState.msoTrue); if(oText!=null)
{
MessageBox.Show("文档中包含指定的关键字 " + strKeyWord 
+ " !", "搜索结果", MessageBoxButtons.OK);
continue;
}
}
*/
}
}

解决方案 »

  1.   

    无人会吗?你们都没用C#写过读powerpoint的RichTextBox吗?高手们在睡午觉吗?
      

  2.   

    刚找到一段从ppt转化到html的代码:OpenFileDialog ofdlog = new OpenFileDialog();
    ofdlog.Filter = "PowerPoint files(*.ppt)|*.ppt";if(ofdlog.ShowDialog()==DialogResult.OK)
    {
    fileName = ofdlog.FileName; PowerPoint.Application pptApp = new PowerPoint.ApplicationClass(); PowerPoint.Presentation pptPre = pptApp.Presentations.Open(fileName,
    Microsoft.Office.Core.MsoTriState.msoTrue,
    Microsoft.Office.Core.MsoTriState.msoFalse,
    Microsoft.Office.Core.MsoTriState.msoFalse); string htmlFileName = @"e:\live.htm";

    pptPre.SaveAs(htmlFileName,
    PowerPoint.PpSaveAsFileType.ppSaveAsHTML,
    Microsoft.Office.Core.MsoTriState.msoCTrue); pptPre.Close();
    }
      

  3.   

    oh,no!  why do everybody give silent?  do you all don't know about this question???!!!