Tag: office interop

如何从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#在Visio中创建状态图

有人能指出我如何以编程方式在visio中创建状态图的示例吗? 我可以创建空白页面,删除形状,打开模板等,但当我尝试添加过渡时,它会抱怨页面不是正确的类型。 无法在任何地方找到样品。 或者:我可以保存用户操作以将图表创建为宏。 我可以以编程方式运行吗? 谢谢。 离开电脑2分钟,你意识到你应该把代码片段放在问题中,而不是试着把它放在评论中。 森林:遇见树木…… Visio.Document umlStencil = visioApp.Documents.OpenEx(@”UMLSTA_M.vss”, (short)VisOpenSaveArgs.visOpenDocked); Visio.Page page = visioDoc.Pages.Add(); Visio.Shape s1 = page.Drop(umlStencil[@”State”], 5.0, 5.0); Visio.Shape s2 = page.Drop(umlStencil[@”State”], 5.0, 5.0); Visio.Shape transition = page.Drop(umlStencil[@”Transition”], 1.0, 1.0); 正如您所看到的,非常类似于下面答案中的代码段。

Microsoft Interop:Excel列名称

我正在使用Microsoft Interop来读取数据。 在excel-sheet中,列名称类似于A,B,C,D,….,AA,AB,….等等。 有没有办法阅读这个列名? 如果您需要任何其他信息,请告诉我。 此致,Priyank

如何在特定位置的Word文档中添加文本?

如何写入Word文档中的特定位置,例如第5行,第50个字符? 我搜索了几个小时,但找不到解决方案。 我正在使用Microsoft.Office.Interop.Word

如何调试慢速Office应用程序互操作构造函数?

我有一个处理excel的应用程序。 最近我遇到了Excel对象创建速度非常慢的问题。 我用这个简单的代码重新创建了这个问题: Microsoft.Office.Interop.Excel.Application xlApp; xlApp = new Microsoft.Office.Interop.Excel.Application(); 第二行导致延迟。 为了测量新对象分配所需的时间,上面的代码已经扩展了时间跟踪解决方案,结果是确凿的。 在NORMAL情况下,上面的代码在0.5s内执行,而在FAULTY-BEHAVIOR的情况下,它可能需要长达5分钟。 没有内存泄漏,并且正确释放了excel对象。 我的解决方案全年24/7运行,没有任何问题。 我不确定它是否重要但是应用程序在20个单独的用户会话(服务器机器)上运行。 因此,此应用程序有20个副本同时运行,可能会导致同时运行20个Excel副本。 这个问题第一次在2个月前被注意到并且已经通过升级Office(2010 – > 2013)解决了。 这次我有更多时间进行调查,遗憾的是结果并不乐观。 事实: 目前只有一台机器受此问题的影响(24个CPU内核,24GB Ram) 当“延迟”发生时,CPU根本没有压力 我尝试使用“进程监视器”应用程序来validation当我们“新的Excel.Application()”构造函数(看看是否有任何过多的磁盘/内存/ CPU使用)时会发生什么 – 没有资源限制的迹象。 没有与COM对象等相关的日志文件的迹象。 这里唯一的问题是这几分钟的延迟。 所有其他Excel Interop命令都照常工作。 主要问题: 有没有办法调试这个Microsoft.Office.Interop.Excel.Application()构造函数,看看哪个部分是一个问题? 外部内容 一个有类似问题的人。 他的解决方案根本无法解决我的问题。 编辑 – 附加测试 PowerPoint构造函数不受延迟的影响 ppApp = new Microsoft.Office.Interop.PowerPoint.Application();

将Excel图表从Excel导入到PowerPoint会导致某些计算机上出现“RPC_E_SERVERFAULT”

这是一个令人恼火的。 我创建了一种方法将工作簿中的所有Excel图表复制到PowerPoint幻灯片。 public int ImportExcelChartsFromWorkbookToSlides(int startingSlideIndex, string workbookPath, string[] slideTitles, int chartPosTop, int chartPosLeft = 10, int titleWidth = 680, int titleHeight = 20, int titlePosTop = 90, int titlePosLeft = 20, int titleFontSize = 18) { int slideIndex = startingSlideIndex; int titleIndex = 0; EXCL.Application objExclApp = new EXCL.Application(); EXCL.Workbook objWorkbook = objExclApp.Workbooks.Open(workbookPath, Editable: […]

自定义Word后台中的“新建”选项卡以添加自定义模板

我想自定义Word的后台在“新建”选项卡中添加自定义模板而不是另一个。 模板来自Web服务。 我使用Office 2010.应用程序是使用Visual Studio 2010在C#中开发的。 可能吗?

System.Runtime.InteropServices.COMException(0x800A1436)

我们正尝试在MVC应用程序上使用Office Interop Services打开驻留在共享驱动器上的Word模板。该解决方案在本地工作,但一旦部署到服务器,就会出现以下消息: The File was not created: System.Runtime.InteropServices.COMException (0x800A1436): This file could not be found ApplicationPool在域用户帐户下运行,该帐户已拥有共享驱动器的权限。 有什么建议吗?

C#:在Word 2007中创建/插入Excel 2007图表

如何在具有Office互操作性的Word 2007中创建并插入Excel 2007图表? 重要提示:我不想保存Excel文件来创建图表。

我应该如何声明Microsoft.Office.Interop.Excel.Worksheet,以便我可以在C#中关闭它?

我很难确保我的COM对象正在关闭,所以我不会在后台运行EXCEL.EXE进程。 我已经知道声明的双点和链接是坏的,因为这可能会让COM对象徘徊。 有谁知道如何修复这行代码,以便我可以正确关闭并释放工作表COM对象? worksheet = (Microsoft.Office.Interop.Excel.Worksheet)workbook.Sheets[strName]; 编辑:我已经尝试使用app.Quit()当我完成执行此行以关闭打开的Excel对象,但这不起作用。 如果我在此行之前调用它,则app.Quit()有效。