Tag: powerpoint

powerpoint c#加载项形状分组问题

我使用Visual Studio 2010开发PowerPoint 2010加载项,并且在幻灯片上对两个对象进行分组时遇到了重大问题。 我正在尝试创建两个对象,将它们放在幻灯片上并将它们全部分组到同一个函数中。 添加对象并将它们放在幻灯片上不是问题。 说到分组部分…… 我试过了: PowerPoint._Application myPPT = Globals.ThisAddIn.Application; PowerPoint.Slide curSlide = myPPT.ActiveWindow.View.Slide; string[] myRangeArray = new string[2]; myRangeArray[0] = “nameOfShape0”; myRangeArray[1] = “nameOfShape1”; curSlide.Shapes.Range(myRangeArray).Group(); 和 PowerPoint._Application myPPT = Globals.ThisAddIn.Application; PowerPoint.Slide curSlide = myPPT.ActiveWindow.View.Slide; curSlide.Shapes.Range(Array(“nameOfShape0”, “nameOfShape1”)).Group(); 两者都悲惨地失败了。 我对此感到非常沮丧,我真的希望某种善良的灵魂能为我找到解决方案。 谢谢。 更新:这是我正在使用的完整代码: PowerPoint._Application myPPT = Globals.ThisAddIn.Application; PowerPoint.Slide curSlide = myPPT.ActiveWindow.View.Slide; PowerPoint.Shape browser = curSlide.Shapes.AddOLEObject(110, […]

如何从C#更改PowerPoint中TextRange的字体颜色?

我使用C#创建了一个PowerPoint演示文稿: PowerPoint.Application powerpointApplication; PowerPoint.Presentation pptPresentation; PowerPoint.Slide Slide; // Create an instance of PowerPoint. powerpointApplication = new PowerPoint.ApplicationClass(); // Create a PowerPoint presentation. pptPresentation = powerpointApplication.Presentations.Add( Microsoft.Office.Core.MsoTriState.msoTrue); // Create empty slide Slide = pptPresentation.Slides.Add(1, PowerPoint.PpSlideLayout.ppLayoutBlank); TextRange objTextRng = objSlide.Shapes[1].TextFrame.TextRange; objTextRng.Text = “Remote sensing calendar 1”; objTextRng.Font.Name = “Comic Sans MS”; objTextRng.Font.Size = 48; // TODO: change […]

使用C#和Powerpoint OpenXML,可以更改文本的字体大小和颜色

我使用openXML和C#生成powerpoint幻灯片,但我似乎无法弄清楚如何更改/设置文本大小和颜色。 这是可能的,有没有任何例子,因为我似乎找不到用谷歌搜索? 我正在构建一个表(类似于这个: http : //blogs.msdn.com/b/brian_jones/archive/2009/08/13/adding-repeating-data-to-powerpoint.aspx )我想改变每个单元格中的许多内容(字体大小,字体颜色,单元格的背景颜色)。

Mac Powerpoint插件?

目前我们有一个用C#编写的DLL Windows Powerpoint插件。 反正有没有将它翻译成Mac版的Powerpoint? 显然,Mac上不存在DLL,那么还有什么选择呢? 我需要用什么编程语言编写它? 有没有办法自动转换? 谢谢

WebBrowser快捷方式无法在PowerPoint加载项中运行…但WebBrowserShortcutsEnabled为true

我正在构建一个基于嵌入式浏览器的powerpoint插件。 但是,出于某种原因,标准快捷方式不起作用。 WebBrowserShortcutsEnabled属性设置为true(尽管我甚至尝试将其设置为false,以防我处于倒退世界)。 将它剥离到裸露的骨头,我的重复步骤是: 创建一个新项目,选择PowerPoint 2013外接程序项目类型 将新的用户控件添加到项目中 将WebBrowser添加到该控件,从工具箱中拖动它 在该属性面板中将该WebBrowser上的URL设置为例如google 将此代码添加到ThisAddIn_Startup方法,以便面板立即显示: private void ThisAddIn_Startup(object sender, System.EventArgs e) { var ctrl = new UserControl1(); var ctp = this.CustomTaskPanes.Add(ctrl, “test”); ctp.Visible = true; } 在PowerPoint中键入WebBrowser工作正常,但Ctrl + X / C / V,Del,Tab等都没有效果。 我已经尝试在Web浏览器上覆盖OnKeyPress方法,并添加了一个PreviewKeyDownEventHandler,但这两种方法中的断点都没有被击中。 我还validation了WebBrowserShortcutsEnabled在运行时仍然是真的并且没有以某种方式被更改。 我开始怀疑它可能是一个环境问题,但我不知道根本原因是什么。 我正在运行Windows 8.1,VS 2012和PowerPoint 2013,目标是.NET 4.5。 我也尝试在Windows 7上的PowerPoint 2010上安装相同的基本插件,结果相同。 有没有人能够了解我可能出现的问题? 谢谢

powerpoint 2013 – 导出到video的进度

我正在开发一个从磁盘读取Powerpoint演示文稿的应用程序,并使用以下伪代码将其保存为video格式: var app = new ppt.Application(); ppt.Presentation file = app.Presentations.Open( this.SourceFilename, MsoTriState.msoFalse, MsoTriState.msoFalse, MsoTriState.msoFalse); file.CreateVideo(this.DestinationFilename); while (true) { switch (file.CreateVideoStatus) { case PpMediaTaskStatus.ppMediaTaskStatusDone: … case PpMediaTaskStatus.ppMediaTaskStatusFailed: … case PpMediaTaskStatus.ppMediaTaskStatusInProgress … 这个过程需要很长时间才能完成,所以我想添加一个进度指示器。 我知道这个进度信息是可用的 – 当从powerpoint内导出video时,Powerpoint本身会显示一个确切的进度条。 有没有办法阅读这个进展,把它作为一个事件,或者围绕powerpoint api获取某种进度百分比? 非常感谢所有帮助。

示例使用openxml创建powerpoint

在哪里可以找到带有OpenXML的ppt文件中的插入文本和图像的“Hello World”? 我无法生成简单的模板。

处理Web浏览器控件的单击事件

我想添加webBrowser控件的click事件。 这是我的代码。 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; namespace WindowsFormsApplication2 { public partial class Form1 : Form { HtmlDocument htmlDoc; public Form1() { InitializeComponent(); OpenFileDialog open = new OpenFileDialog(); open.ShowDialog(); this.webBrowser1.Navigate(open.FileName); } private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e) { if (webBrowser1.Document != null) { htmlDoc = webBrowser1.Document; […]

多DPI系统上的VSTO自定义任务窗口显示内容两次

我正在使用VSTO构建办公室插件。 在具有不同DPI设置的多个监视器的系统上,我的自定义任务窗格的内容在具有较高DPI设置的监视器上绘制两次: 只有较小的版本实际上响应用户输入。 较大的版本似乎只是一个放大图像。 我尝试过使用各种DPI相关设置,例如: 我的用户控件上的AutoScaleMode 。 我尝试了所有选项,没有变化。 使用SetProcessDpiAwareness将进程设置为DPI可识别 – 或不 – 。 我尝试了所有选项,没有变化。 使用app.manifest并将dpiAware设置为true和false 。 没变。 新的Web Addins没有这个问题。 此外,内部任务窗格没有此问题。 这是一个已知的问题吗? 我怎样才能解决这个问题?

清除Microsoft Office加载项缓存

我在Microsoft PowerPoint 2007的加载项中编写了一些代码。我执行了它。 它说有问题。 在这里的同事的帮助下 ,我纠正了这个问题。 我编译了新代码并运行它。 它仍然考虑旧代码并忽略新代码并仍然抛出相同的问题。 这两个版本的代码完全不同,因为它们不共享问题报告的变量,因此我确定问题现在不在代码中。 显然,MS Office在某些缓存中保留了旧版本的二进制文件。 如何清除它并允许它访问新编译的加载项二进制文件?