使用C#Interop以编程方式将幻灯片从多个演示文稿粘贴到单个演示文稿中时丢失格式 [英] Formating lost while programmatically pasting slides from multiple presentations into a single presentation using C# Interop

查看:118
本文介绍了使用C#Interop以编程方式将幻灯片从多个演示文稿粘贴到单个演示文稿中时丢失格式的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述


嗨 

我正在尝试从现有PPT中的不同PPT中粘贴多张幻灯片。

我可以粘贴多张幻灯片,但问题是幻灯片的格式化不会被保留。

我的代码如下



介绍pres = pptApp.Presentations.Open(" Original.pptx",MsoTriState.msoFalse,MsoTriState.msoFalse,MsoTriState.msoFalse);

                    int counter = 1;

// slideNumbers是我们要在原始文件中插入幻灯片的幻灯片编号或位置列表

                    foreach(幻灯片中的var编号)

                    {

                        if(pres!= null)

                        {                                               
       

                            pres.Slides [number] .Delete();

                            pres.Slides.InsertFromFile(" temp.pptx",number-1,counter,counter);                       
 

                           计数器++;                        

                        }¥b $ b                    }¥b $ b                                  }¥b $ b                if(pres!= null)

                {

                    pres.SaveAs("Final.pptx");

                    pres.Close();

                    Marshal.ReleaseComObject(pres);

                }


 我需要c#中的解决方案。

谢谢!

解决方案

缺少什么格式?


我可以使用您的代码成功粘贴包含字体颜色,形状填充,注释,动画等源格式的幻灯片。


你试试
InsertFromFile 在Powerpoint中手动操作,是否有任何格式丢失?


请访问
重复使用(导入)幻灯片介绍


Hi 
I am trying to paste multiple slides from a different PPTs  in an existing PPT.
I could paste multiple slides but issue is formating of slides is not preserved.
my code is as follows

Presentation pres = pptApp.Presentations.Open("Original.pptx", MsoTriState.msoFalse, MsoTriState.msoFalse, MsoTriState.msoFalse);
                    int counter = 1;
//slideNumbers is a list of slide numbers or position at which we are going to insert the slide in original file
                    foreach (var number in slideNumbers)
                    {
                        if (pres != null)
                        {                                                       
                            pres.Slides[number].Delete();
                            pres.Slides.InsertFromFile("temp.pptx", number- 1, counter, counter);                         
                            counter++;                        
                        }
                    }
                                  }
                if (pres != null)
                {
                    pres.SaveAs("Final.pptx");
                    pres.Close();
                    Marshal.ReleaseComObject(pres);
                }

 I need solution in c#.
Thank you !

解决方案

What formats are missing?

I could succeed in pasting slides with source formatting like Font Color, Shape Fill, Comment, Animations etc. using your code.

Do you try to InsertFromFile manually in Powerpoint and if there are any formats lost?

Please visit Reuse (import) slides from another presentation


这篇关于使用C#Interop以编程方式将幻灯片从多个演示文稿粘贴到单个演示文稿中时丢失格式的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

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