select certain slide from ppt presentation and paste excel chart(从ppt演示文稿中选择特定幻灯片并粘贴excel图表)
本文介绍了从ppt演示文稿中选择特定幻灯片并粘贴excel图表的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我使用以下代码打开工作表、复制一个图表、打开演示文稿并粘贴它。
它可以很好地处理一个图表和一张幻灯片,但是在XLSM中有8个图表,所以8张pptx格式的幻灯片,我不知道如何选择第二个图表并将其粘贴到演示文稿的第二张或第三张幻灯片中。
使用PowerPoint.Slide curSlide=pptApp.ActiveWindow.View.Slide;可选择当前幻灯片或幻灯片1。
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using Microsoft.Office.Core;
using xlNS = Microsoft.Office.Interop.Excel;
using PowerPoint = Microsoft.Office.Interop.PowerPoint;
using Graph = Microsoft.Office.Interop.Graph;
using System.Runtime.InteropServices;
namespace WindowsFormsApplication3
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
try
{
xlNS.Application excelApplication = null;
xlNS.Workbook excelWorkBook = null;
xlNS.Worksheet targetSheet = null;
xlNS.ChartObjects chartObjects = null;
xlNS.ChartObject existingChartObject = null;
String Excelpath = "C:\Users\Diego\Desktop\Indicador Mensal.xlsm";
excelApplication = new xlNS.Application();//Instancia o excel e abre o XLSM
excelWorkBook = excelApplication.Workbooks.Open(Excelpath,
Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing,
Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing,
Type.Missing, Type.Missing, Type.Missing, Type.Missing);
PowerPoint.Application pptApp = new PowerPoint.Application();
pptApp.Presentations.Open("C:\Users\Diego\Desktop\Teste.pptx", MsoTriState.msoFalse, MsoTriState.msoTrue, MsoTriState.msoTrue); //Abre o PPTX
PowerPoint.Slide curSlide = pptApp.ActiveWindow.View.Slide;
xlNS.Worksheet Ws = new xlNS.Worksheet();
Ws = (xlNS.Worksheet)excelWorkBook.Worksheets[1];//Número da Planilha que contém o gráfico
Ws.Activate();
targetSheet = (xlNS.Worksheet)(excelWorkBook.Worksheets["Assumidos no Prazo"]);
chartObjects = (xlNS.ChartObjects)(targetSheet.ChartObjects(Type.Missing));
existingChartObject = (xlNS.ChartObject)(chartObjects.Item(1));
existingChartObject.Copy();
curSlide.Shapes.Paste();
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}
finally
{
MessageBox.Show("Finalizado");
}
}
}
}
推荐答案
使用此代码解决了问题:
p = pptApp.ActivePresentation;
slides = p.Slides;
slides[3].Select();
Ppt.Slide slide3 = pptApp.ActiveWindow.View.Slide;
这篇关于从ppt演示文稿中选择特定幻灯片并粘贴excel图表的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
沃梦达教程
本文标题为:从ppt演示文稿中选择特定幻灯片并粘贴excel图表


基础教程推荐
猜你喜欢
- 全局 ASAX - 获取服务器名称 2022-01-01
- 将事件 TextChanged 分配给表单中的所有文本框 2022-01-01
- JSON.NET 中基于属性的类型解析 2022-01-01
- 是否可以在 asp classic 和 asp.net 之间共享会话状态 2022-01-01
- 错误“此流不支持搜索操作"在 C# 中 2022-01-01
- 首先创建代码,多对多,关联表中的附加字段 2022-01-01
- 如何动态获取文本框中datagridview列的总和 2022-01-01
- 经典 Asp 中的 ResolveUrl/Url.Content 等效项 2022-01-01
- 在 VS2010 中的 Post Build 事件中将 bin 文件复制到物 2022-01-01
- 从 VS 2017 .NET Core 项目的发布目录中排除文件 2022-01-01