使用PowerpointInterop C#以编程方式将动画应用于powerpoint幻灯片 [英] Apply animation to the powerpoint slide programmatically using PowerpointInterop C#

查看:289
本文介绍了使用PowerpointInterop C#以编程方式将动画应用于powerpoint幻灯片的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

亲爱的所有人,


我在Windows应用程序c#中自动化了MsOffice。


我想将动画应用到powerpoint幻灯片。


代码:


< pre>


PowerPointInterop.PpAlertLevel displayAlertLevel = pptApplication.DisplayAlerts;

  &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; pptApplication.DisplayAlerts = PowerPointInterop.PpAlertLevel.ppAlertsNone;



  &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; PowerPointInterop.Presentation pptDocument = pptApplication.Presentations.Open(filename);



  &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; PowerPointInterop.Slide slideObject = pptDocument.Slides [slideCount];

  &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; if(slideObject == null)

  &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP;返回false;



  &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; foreach(slideObject.Shapes中的var项目)

  &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; {

  &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; var shape =(PowerPointInterop.Shape)item;

  &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; if(shape.HasTextFrame == MsoTriState.msoTrue)

  &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; {

  &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; shape.AnimationSettings.EntryEffect = ShapeEntryEffect.BoxIn; // ShapeEntryEffect显示错误

  &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; shape.ApplyAnimation();

  &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; }¥b $ b  &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; }


  &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; pptDocument.Close();


< / pre>



任何人都可以帮忙我。




谢谢

解决方案


以下是基于免费.net ppt的ac#解决方案
,如果你不介意,那么你可以尝试一下:

 Presentation ppt = new Presentation(); 
ISlide slide = ppt.Slides [0];

IAutoShape shape = slide.Shapes.AppendShape(ShapeType.Rectangle,new RectangleF(50,50,200,80));
shape.Fill.FillType = FillFormatType.Solid;
shape.Fill.SolidColor.Color = Color.Purple;
shape.ShapeStyle.LineColor.Color = Color.White;
shape.AppendTextFrame(" Animated Shape");

shape.Slide.Timeline.MainSequence.AddEffect(shape,AnimationEffectType.FadedSwivel);

ppt.SaveToFile(" animations.pptx",FileFormat.Pptx2010);


希望它有用。


Dear All,

I'm automating MsOffice in windows application c#.

I would like to apply animation to the powerpoint slides.

code:

<pre>

PowerPointInterop.PpAlertLevel displayAlertLevel = pptApplication.DisplayAlerts;
                pptApplication.DisplayAlerts = PowerPointInterop.PpAlertLevel.ppAlertsNone;

                PowerPointInterop.Presentation pptDocument = pptApplication.Presentations.Open(filename);

                PowerPointInterop.Slide slideObject = pptDocument.Slides[slideCount];
                if (slideObject == null)
                    return false;

                foreach (var item in slideObject.Shapes)
                {
                    var shape = (PowerPointInterop.Shape)item;
                    if (shape.HasTextFrame == MsoTriState.msoTrue)
                    {
                        shape.AnimationSettings.EntryEffect = ShapeEntryEffect.BoxIn;//ShapeEntryEffect is showing error
                        shape.ApplyAnimation();
                    }
                }

                pptDocument.Close();

</pre>

can any one please help me.

Thanks

解决方案

Hi,

The below is a c# solution based on a free .net ppt library, if you do not mind, then you can give it a try:

Presentation ppt = new Presentation();
ISlide slide = ppt.Slides[0];

IAutoShape shape = slide.Shapes.AppendShape(ShapeType.Rectangle, new RectangleF(50, 50, 200, 80));
shape.Fill.FillType = FillFormatType.Solid;
shape.Fill.SolidColor.Color = Color.Purple;
shape.ShapeStyle.LineColor.Color = Color.White;
shape.AppendTextFrame("Animated Shape");

shape.Slide.Timeline.MainSequence.AddEffect(shape, AnimationEffectType.FadedSwivel);
           
ppt.SaveToFile("animations.pptx", FileFormat.Pptx2010);

Hope it's helpful.


这篇关于使用PowerpointInterop C#以编程方式将动画应用于powerpoint幻灯片的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆