首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用C#编程访问powerpoint对象

使用C#编程访问powerpoint对象
EN

Stack Overflow用户
提问于 2016-04-25 11:39:59
回答 1查看 1.4K关注 0票数 0

我正在访问C#中的ppt模板,并根据数据以编程方式创建自定义输出。

代码语言:javascript
运行
复制
Microsoft.Office.Interop.PowerPoint.Presentations objPresSet = null;
Microsoft.Office.Interop.Graph.Chart chart = null;
Microsoft.Office.Interop.Graph.DataSheet dataSheet = null;

objPres = objPresSet.Open(@"C:\Sample PPT application\WebSite4\WebSite4\2_Soundbite1.pptx", MsoTriState.msoFalse, MsoTriState.msoTrue, MsoTriState.msoTrue);
Microsoft.Office.Interop.PowerPoint._Slide objSlide = null;
objSlide = objPres.Slides[1];



foreach (Microsoft.Office.Interop.PowerPoint.Shape prefixShape in objSlide.Shapes)
{
    chart = (Microsoft.Office.Interop.Graph.Chart)prefixShape.OLEFormat.Object;
    dataSheet = chart.Application.DataSheet;
}

现在,如果模板是'.ppt‘类型,那么上面使用的OLEFormat.Object确实存在,其中就像’..pptx‘一样,它会给出以下错误

OLEFormat (未知成员):无效请求。此属性仅适用于OLE对象。

由于无法识别,我搜索了msdn以及其他站点,但没有人区分“.ppt”和“..pptx”。

在链接Creating PowerPoint presentations programmatically中,它提到我们可以编程编写powerpoint,我面临的问题是,当扩展名为“.ppt”时,我也可以这样做,而对于“..pptx”,我无法访问模板中使用的图表,因为在“..pptx”的情况下,用于访问图表的OLEFormat.Object无法工作,如果出现“..pptx”,则会丢失一些用于“.pptx”支持的dll,我目前使用的是“AssemblyMicrosoft.Office.Interop.PowerPoint.dll,v2.0.50727”。

EN

回答 1

Stack Overflow用户

发布于 2018-01-11 15:01:56

代码语言:javascript
运行
复制
objSlide[1].Shapes["myObjectNameInsideSlide1"].TextFrame.TextRange.Text = "Kiko";

以上代码将访问幻灯片1中的文本框/形状。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36839511

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档