110,533
社区成员
发帖
与我相关
我的任务
分享
foreach (PowerPoint.Shape pptShape in Present.SlideMaster.Shapes)
{
if (MsoTriState.msoFalse == pptShape.HasTextFrame) continue;
if (MsoTriState.msoFalse == pptShape.TextFrame.HasText) continue;
string str = pptShape.TextFrame.TextRange.Text;
if (str.Contains(@"▲"))
{
pptShape.TextFrame.TextRange.Text = "A";
break;
}
}
foreach (PowerPoint.CustomLayout layout in Present.SlideMaster.CustomLayouts)
{
foreach (PowerPoint.Shape pptShape in layout.Shapes)
{
if (MsoTriState.msoFalse == pptShape.HasTextFrame) continue;
if (MsoTriState.msoFalse == pptShape.TextFrame.HasText) continue;
string str = pptShape.TextFrame.TextRange.Text;
if (str.Contains(@"▲"))
{
pptShape.TextFrame.TextRange.Text = "A";
break;
}
}
}
//如下代码是查找PPT母版中带有▲符号的文本框,但我只能找到其中的几页 并不能找到所有
PowerPoint.Application PptApp = new PowerPoint.Application();
PowerPoint.Presentation Present = null;
PptApp.DisplayAlerts = PowerPoint.PpAlertLevel.ppAlertsNone;
object missing = Type.Missing;
FileInfo fileinfo = new FileInfo(FilePath);
DateTime savedaccesstime = fileinfo.LastAccessTime;
Present = PptApp.Presentations.Open(FilePath, MsoTriState.msoFalse, MsoTriState.msoFalse, MsoTriState.msoFalse);
if (Present.Slides.Count >= 1)
{
foreach (PowerPoint.Shape pptShape in Present.SlideMaster.Shapes)
{
if (MsoTriState.msoFalse == pptShape.HasTextFrame) continue;
if (MsoTriState.msoFalse == pptShape.TextFrame.HasText) continue;
str = pptShape.TextFrame.TextRange.Text;
if (str.Contains(@"▲"))
{
break;
}
}
}