interop office互操作-关于C#操作PowerPoint的问题

问题描述

关于C#操作PowerPoint的问题

using Ppt = Microsoft.Office.Interop.PowerPoint;
private static bool ConvertPptToXps(string pptFilename, string xpsFilename)
{
Ppt.Application pptApp;
Ppt.Presentations presentations = null;
Ppt.Presentation presentation = null;
pptApp = new Ppt.Application();
try
{
presentations = pptApp.Presentations;
presentation = presentations.Open(pptFilename);
pptApp.WindowState = Ppt.PpWindowState.ppWindowMinimized;
presentation.SaveAs(xpsFilename, Ppt.PpSaveAsFileType.ppSaveAsXPS);
return true;
}
catch (Exception ex)
{
return false;
}
finally
{
try
{
presentation.Close();
pptApp.Quit();
}
catch (Exception) { }
if (presentation != null)
{
Marshal.ReleaseComObject(presentation);
presentation = null;
}
if (presentations != null)
{
Marshal.ReleaseComObject(presentations);
presentations = null;
}
if (pptApp != null)
{
Marshal.ReleaseComObject(pptApp);
pptApp = null;
}
GC.Collect();
}
}

C#调用PowerPoint把ppt转换为xps,另存完后退出PowerPoint。
问题是,如果在执行上述代码之前有打开的PowerPoint窗口,代码执行完后会把原先的
PowerPoint窗口关掉。
对Word和Excel执行相似的操作,就不会关闭原先打开的窗口。
求教如何做到执行完转换后不关闭原先的窗口?

解决方案

C# 操作PowerPoint(一)
C# 操作Powerpoint
操作powerpoint遇到的问题

时间: 2024-09-17 03:40:01

interop office互操作-关于C#操作PowerPoint的问题的相关文章

powerpoint-c#操作PowerPoint添加chart

问题描述 c#操作PowerPoint添加chart 最近在做一个用c#直接操作ppt的程序,通过c#处理数据后直接生成一个ppt.但是在添加图表的时候只能将图表本身加进去,数据需要人工输入图表对应的excel图表才能正确显示数据,不知道怎么才能直接就将数据加入到图表对应的excel中,这样就不在需要人工输入了 下面是添加图标的代码: private void chartButton_Click(object sender, EventArgs e) { string path = pptPat

C#中操作PowerPoint 能不能将一个ppt中的页复制到另一个ppt中

问题描述 C#中操作PowerPoint能不能将一个ppt中的页复制到另一个ppt中不知道有没有这样的方法急求 解决方案 解决方案二:读取写入

关于C#操作PowerPoint的问题

问题描述 usingPpt=Microsoft.Office.Interop.PowerPoint;privatestaticboolConvertPptToXps(stringpptFilename,stringxpsFilename){Ppt.ApplicationpptApp;Ppt.Presentationspresentations=null;Ppt.Presentationpresentation=null;pptApp=newPpt.Application();try{presen

c#操作PowerPoint

问题描述 最近在做一个用c#直接操作ppt的程序,通过c#处理数据后直接生成一个ppt.但是在添加图表的时候只能将图表本身加进去,数据需要人工输入图表对应的excel图表才能正确显示数据,不知道怎么才能直接就将数据加入到图表对应的excel中,这样就不在需要人工输入了下面是添加图标的代码:privatevoidchartButton_Click(objectsender,EventArgse){stringpath=pptPathTextBox.Text;OpenPPT(path);//Adda

使用 Microsoft Visual C# 进行 Microsoft Word 2002 和 Excel 2002 编程(一)

excel|visual|word|编程 使用 Microsoft Visual C# 进行 Microsoft Word 2002 和 Excel 2002 编程 Kerry Loynd 和 Siew-Moi KhorMicrosoft Corporation 2002年10月 适用于:    Microsoft Office XP    Microsoft Visual C#摘要:了解 Microsoft C# 和大型复杂的 COM 服务器之间的 COM 互操作性.本文介绍了如何准备 Off

使用 Microsoft Visual C# 进行 Microsoft Word 2002 和 Excel 2002 编程(二)

excel|visual|word|编程 示例 3:打开现有的 Word 文档 同 Documents.SaveAs 方法一样,Documents.Open 方法签名在 Office 2000 和 OfficeXP 之间也存在差别,因此新名称包装在 #if 声明中.Open 方法和 SaveAs 方法一样简单,如下所示:     object fileName = Environment.CurrentDirectory+"\\example3";    object optional

Office文件的奥秘——.NET平台下不借助Office实现Word、Powerpoint等文件的解析(一)

原文 http://www.cnblogs.com/mayswind/archive/2013/03/17/2962205.html   [题外话] 这是2010年参加比赛时候做的研究,当时为了实现对Word.Excel.PowerPoint文件文字内容的抽取研究了很久,由于Java有 POI库,可以轻松的抽取各种Office文档,而.NET虽然有移植的NPOI,但是只实现了最核心的Excel文件的读写,所以之后查了很多资料才实 现了Word和PowerPoint文件文字的抽取.之后忙于各种事情

大家有空帮忙吗?无法将类型为“Microsoft.Office.Interop.Excel.ApplicationClass”的 COM 对象强制转换为接口类型

问题描述 无法将类型为"Microsoft.Office.Interop.Excel.ApplicationClass"的COM对象强制转换为接口类型"Microsoft.Office.Interop.Excel._Application".此操作失败的原因是对IID为"{000208D5-0000-0000-C000-000000000046}"的接口的COM组件调用QueryInterface因以下错误而失败:加载类型库/DLL时出错.(异常

关于C#操作INI文件的总结

原文:关于C#操作INI文件的总结          INI文件其实是一种具有特定结构的文本文件,它的构成分为三部分,结构如下: [Section1]key 1 = value2key 1 = value2--[Section2]key 1 = value1key 2 = value2-- 文件由若干个段落(section)组成,每个段落又分成若干个键(key)和值(value).Windows系统自带的Win32的API函数GetPrivateProfileString()和WritePriv