CreatePowerPoint.docx
《CreatePowerPoint.docx》由会员分享,可在线阅读,更多相关《CreatePowerPoint.docx(16页珍藏版)》请在冰豆网上搜索。
CreatePowerPoint
8.9 使用C#创建PowerPoint文档
MicrosoftPowerPoint是MicrosoftOffice的一个组件,是一款功能强大的演示文稿处理软件,它与其他软件的差别在于其能够创建精美的演示性文档,并且有条理地显示结果。
MicrosoftPowerPoint是除了MicrosoftWord和MicrosoftExcel之外最常用的办公软件之一。
本节将介绍如何使用C#创建PowerPoint文档。
与在C#中添加Word、Excel文档的方法类似,添加PowerPoint文档时,需要为项目添加对MicrosoftPowerPointXObjectLibrary的引用,其中的X对应为版本号。
PowerPoint2007对应12.0。
在MicrosoftPowerPointXObjectLibrary中,一个PowerPoint文档由MSPowerPoint.Presentations表示。
1.目的说明
本实例介绍的知识点为如何创建PowerPoint文档,以及如何使用不同格式保存创建的PowerPoint文档。
2.操作步骤
(1)创建一个Windows控制台应用程序,命名为CreatePptDemo。
(2)添加引用,如图8.30所示。
图8.30 添加引用 图8.31 “解决方案资源管理器”面板
引用的库位于“COM”选项卡下,名称为MicrosoftPowerPointXObjectLibrary。
其中X是版本号,12.0对应MicrosoftPowerPoint2007。
MicrosoftPowerPoint2003对应的版本号为11.0。
本节使用MicrosoftExcel11.0ObjectLibrary。
添加后“解决方案资源管理器”面板的引用项中自动多出了三个引用,如图8.31所示。
分别为Microsoft.Office.Core、Microsoft.Office.Interop.PowerPoint和VBIDE。
(3)在“Program.cs”文件中添加如下引用。
usingSystem;
usingSystem.Collections.Generic;
usingSystem.Text;
usingSystem.IO;
usingPPT=Microsoft.Office.Interop.PowerPoint;
usingSystem.Reflection;
(4)直接修改“Program.cs”文件的代码如下。
namespaceCreatePptDemo
{
classProgram
{
staticvoidMain(string[]args)
{
stringpath; //文件路径变量
PPT.ApplicationpptApp; //Excel应用程序变量
PPT.PresentationpptDoc; //Excel文档变量
path=@"C:
\MyPPT.ppt"; //路径
pptApp=newPPT.ApplicationClass(); //初始化
//如果已存在,则删除
if(File.Exists((string)path))
{
File.Delete((string)path);
}
//由于使用的是COM库,因此有许多变量需要用Nothing代替
ObjectNothing=Missing.Value;
pptDoc=pptApp.Presentations.Add(Microsoft.Office.Core.MsoTriState.msoFalse);
//WdSaveFormat为Excel文档的保存格式
PPT.PpSaveAsFileTypeformat=PPT.PpSaveAsFileType.ppSaveAsDefault;
//将excelDoc文档对象的内容保存为XLSX文档
pptDoc.SaveAs(path,format,Microsoft.Office.Core.MsoTriState.msoFalse);
//关闭excelDoc文档对象
pptDoc.Close();
//关闭excelApp组件对象
pptApp.Quit();
Console.WriteLine(path+"创建完毕!
");
Console.ReadLine();
}
}
}
3.运行结果
运行程序,结果如图8.32所示。
打开C盘根目录,如图8.33所示。
图8.32 运行结果 图8.33 创建成功
可以看到,已经成功地创建了一个名为MyPPT.ppt的PowerPoint文档。
该文档是MicrosoftPowerPoint2003默认的文档格式,大小约为25KB。
下面介绍如何使用其创建一个在MicrosoftPowerPoint2003中可以识别的其他格式的PowerPoint文档。
在Microsoft.Office.Interop.PowerPoint命名空间下有一个枚举名为PpSaveAsFileFormat,设置了可用于保存的形式,如图8.34所示,对应于图8.35所示的保存格式。
图8.34 PpSaveAsFileFormat枚举 图8.35 保存格式
可以看到,PpSaveAsFileFormat枚举中定义的格式更为详细。
下面将介绍如何创建一个PPS格式的文档。
1.操作步骤
(1)创建一个Windows控制台应用程序,命名为CreatePPSDemo。
(2)添加对MicrosoftExcel11.0ObjectLibrary的引用(同之前的步骤,不再详述)。
(3)在“Program.cs”文件中添加如下引用。
usingSystem;
usingSystem.Collections.Generic;
usingSystem.Text;
usingSystem.IO;
usingPPT=Microsoft.Office.Interop.PowerPoint;
usingSystem.Reflection;
(4)直接修改“Program.cs”文件的代码如下。
namespaceCreatePpsDemo
{
classProgram
{
staticvoidMain(string[]args)
{
stringpath; //文件路径变量
PPT.ApplicationpptApp; //Excel应用程序变量
PPT.PresentationpptDoc; //Excel文档变量
path=@"C:
\MyPPT.pps"; //路径
pptApp=newPPT.ApplicationClass(); //初始化
//如果已存在,则删除
if(File.Exists((string)path))
{
File.Delete((string)path);
}
//由于使用的是COM库,因此有许多变量需要用Nothing代替
ObjectNothing=Missing.Value;
pptDoc=pptApp.Presentations.Add(Microsoft.Office.Core.MsoTriState.msoFalse);
//WdSaveFormat为Excel文档的保存格式
PPT.PpSaveAsFileTypeformat=PPT.PpSaveAsFileType.ppSaveAsShow;
//将excelDoc文档对象的内容保存为XLSX文档
pptDoc.SaveAs(path,format,Microsoft.Office.Core.MsoTriState.msoFalse);
//关闭excelDoc文档对象
pptDoc.Close();
//关闭excelApp组件对象
pptApp.Quit();
Console.WriteLine(path+"创建完毕!
");
Console.ReadLine();
}
}
}
2.运行结果
运行程序,结果如图8.36所示。
打开C盘根目录,如图8.37所示。
图8.36 运行结果 图8.37 创建成功
可以看到,已经成功地创建了一个名为MyPPT.pps的PPS文档。
该文档是MicrosoftPowerPoint2003支持的文档格式,大小约为25KB。
8.10 使用C#向PowerPoint文档中写入数据
MicrosoftPowerPoint的强大就在于其演示功能,用户可以通过其方便的操作和易用的特性形成一个漂亮的演示文档。
本节将介绍如何使用C#向PowerPoint文档中写入数据。
1.目的说明
本实例介绍的知识点为如何向PowerPoint文档中输出数据,以及如何设置输出数据的位置。
2.操作步骤
(1)创建一个Windows控制台应用程序,命名为WritePPTDemo。
(2)添加对MicrosoftPowerPoint11.0ObjectLibrary的引用。
(3)在“Program.cs”文件中添加如下引用。
usingSystem;
usingSystem.Collections.Generic;
usingSystem.Text;
usingSystem.IO;
usingPPT=Microsoft.Office.Interop.PowerPoint;
usingSystem.Reflection;
(4)直接修改“Program.cs”文件的代码如下。
namespaceWritePptDemo
{
classProgram
{
staticvoidMain(string[]args)
{
stringpath; //文件路径变量
PPT.ApplicationpptApp; //Excel应用程序变量
PPT.PresentationpptDoc; //Excel文档变量
path=@"C:
\MyPPT.ppt"; //路径
pptApp=newPPT.ApplicationClass(); //初始化
//如果已存在,则删除
if(File.Exists((string)path))
{
File.Delete((string)path);
}
//由于使用的是COM库,因此有许多变量需要用Nothing代替
ObjectNothing=Missing.Value;
pptDoc=pptApp.Presentations.Add(Microsoft.Office.Core.MsoTriState.msoFalse);
pptDoc.Slides.Add(1,Microsoft.Office.Interop.PowerPoint.PpSlideLayout.ppLayoutText);
//WdSaveFormat为Excel文档的保存格式
PPT.PpSaveAsFileTypeformat=PPT.PpSaveAsFileType.ppSaveAsDefault;
//将excelDoc文档对象的内容保存为XLSX文档
pptDoc.SaveAs(path,format,Microsoft.Office.Core.MsoTriState.msoFalse);
//关闭excelDoc文档对象
pptDoc.Close();
//关闭excelApp组件对象
pptApp.Quit();
Console.WriteLine(path+"创建完毕!
");
Console.ReadLine();
}
}
}
3.运行结果
运行程序,结果如图8.38所示。
图8.38 运行结果
打开C盘根目录下的MyPPT.ppt文件,如图8.39所示。
图8.39 创建成功
从结果中可以看到,已经为Powerpoint文档创建了一个页面。
下面将介绍如何向该空白页面插入部分文本。
直接修改“Program.cs”文件的代码如下。
usingSystem;
usingSystem.Collections.Generic;
usingSystem.Text;
usingSystem.IO;
usingPPT=Microsoft.Office.Interop.PowerPoint;
usingSystem.Reflection;
namespaceWritePptDemo
{
classProgram
{
staticvoidMain(string[]args)
{
stringpath; //文件路径变量
PPT.ApplicationpptApp; //Excel应用程序变量
PPT.PresentationpptDoc; //Excel文档变量
path=@"C:
\MyPPT.ppt"; //路径
pptApp=newPPT.ApplicationClass(); //初始化
//如果已存在,则删除
if(File.Exists((string)path))
{
File.Delete((string)path);
}
//由于使用的是COM库,因此有许多变量需要用Nothing代替
ObjectNothing=Missing.Value;
pptDoc=pptApp.Presentations.Add(Microsoft.Office.Core.MsoTriState.msoFalse);
pptDoc.Slides.Add(1,Microsoft.Office.Interop.PowerPoint.PpSlideLayout.ppLayoutText);
stringtext="示例文本";
foreach(PPT.SlideslideinpptDoc.Slides)
{
foreach(PPT.Shapeshapeinslide.Shapes)
{
shape.TextFrame.TextRange.InsertAfter(text);
}
}
//WdSaveFormat为Excel文档的保存格式
PPT.PpSaveAsFileTypeformat=PPT.PpSaveAsFileType.ppSaveAsDefault;
//将excelDoc文档对象的内容保存为XLSX文档
pptDoc.SaveAs(path,format,Microsoft.Office.Core.MsoTriState.msoFalse);
//关闭excelDoc文档对象
pptDoc.Close();
//关闭excelApp组件对象
pptApp.Quit();
Console.WriteLine(path+"创建完毕!
");
Console.ReadLine();
}
}
}
运行程序,结果如图8.40所示。
图8.40 运行结果
打开C盘根目录下的MyPPT.ppt文件,如图8.41所示。
图8.41 创建成功
从结果中可以看到,Powerpoint文档中已经插入了部分文本,形成了一个简单的演示文档。
8.11 使用C#在PowerPoint文档中添加图片
图片演示功能是PowerPoint中另一项非常易用的功能。
一般而言,一个完整的PowerPoint文档中不会只包含文字,通常还会包含一些图片。
1.目的说明
本实例主要介绍如何向PowerPoint文档中输出图片。
2.操作步骤
(1)创建一个Windows控制台应用程序,命名为WritePptPicDemo。
(2)添加对MicrosoftPowerPoint11.0ObjectLibrary的引用。
(3)在“Program.cs”文件中添加如下引用。
usingSystem;
usingSystem.Collections.Generic;
usingSystem.Text;
usingSystem.IO;
usingPPT=Microsoft.Office.Interop.PowerPoint;
usingSystem.Reflection;
(4)直接修改“Program.cs”文件的代码如下。
namespaceWritePptPicDemo
{
classProgram
{
staticvoidMain(string[]args)
{
stringpath; //文件路径变量
PPT.ApplicationpptApp; //Excel应用程序变量
PPT.PresentationpptDoc; //Excel文档变量
path=@"C:
\MyPPT.ppt"; //路径
pptApp=newPPT.ApplicationClass(); //初始化
//如果已存在,则删除
if(File.Exists((string)path))
{
File.Delete((string)path);
}
//由于使用的是COM库,因此有许多变量需要用Nothing代替
ObjectNothing=Missing.Value;
pptDoc=pptApp.Presentations.Add(Microsoft.Office.Core.MsoTriState.msoFalse);
pptDoc.Slides.Add(1,Microsoft.Office.Interop.PowerPoint.PpSlideLayout.ppLayoutBlank);
stringpic=@"c:
\windows\winnt.bmp";
foreach(PPT.SlideslideinpptDoc.Slides)
{
slide.Shapes.AddPicture(pic,Microsoft.Office.Core.MsoTriState.msoFalse,Microsoft.Office.Core.MsoT