Tag: com interop

如何检查拼写,但不显示拼写检查对话框?

如何防止查看popup的Excel拼写检查,当我运行以下代码时打开? 而且,当拼写更正时,我想将特定的单元格存储在一个数组中。 xlWorkSheet.CheckSpelling(Type.Missing, true, false, Type.Missing); 此代码会执行正确的拼写检查,但会显示拼写检查popup窗口。 我想要防止这种情况,并将所有更正的单词存储在一个数组中。

如何使用COM Interop创buildExcel电子表格

我想使用asp.net创build一个Microsoft.Office.Interop.Excel.Application对象。 但是,当我写下面的行时,抛出了一个exception。 var app = new Microsoft.Office.Interop.Excel.Application(); 错误信息: 检索具有CLSID {00024500-0000-0000-C000-000000000046}的组件的COM类工厂失败,原因如下:800702e4请求的操作需要提升。 (从HRESULTexception:0x800702E4)。 我有Windows 8 64位平台和Microsoft Office 2007 32位版本。 我不想删除Microsoft Office并重新安装64位版本。 我已经尝试将平台目标更改为x86(在Visual Studio /项目属性/生成),并做了大量的谷歌search。 如何在不安装Microsoft Office(64位)的情况下使用Application对象。 谢谢。

部署一个DLL(COM对象)到Excel VBA参考

我开发了(VB.Net)VS2010中的一个DLL在Excel中使用(Windows 7 64位与32位Office 2010) 类库具有“使程序集COM可见”和“注册COM互操作”选中。 目标CPU使用.Net 4.0 Framework设置为x86。 当我在开发计算机上构build这个DLL时,可以在Excel vba中selectDLL作为参考,Excel将正确执行DLL。 当我试图将DLL部署到其他Window 7机器时,问题出现了。 我已成功(?)使用以下命令行注册DLL(作为pipe理员) C:\Windows\Microsoft.NET\Framework\v4.0.30319\regasm.exe "C:\Program Files\CompanyName\XXX_DLL.dll" 但是DLL不会出现在Excel vba中作为参考select。 我在哪里犯了一个错误/我在做什么错了? 非常感谢。

C#Excel.Interop检测sorting操作

我已经查看了Excel.Interop库的各个级别(应用程序,工作簿和工作表),以了解如何检测用户sorting数据。 我创build了一个实例化应用程序,工作簿和工作表的类。 该程序有从另一个应用程序pipe道input的数据,然后将其添加到工作表。 我正在使用.NET 4.5,C#编译器版本4.0,并且已经使用Excel 2013进行testing,如果这有所帮助。 我可以检测单元格更改和计算事件,但是这些事件在列sorting时都不会触发。 我相信在阅读这篇文章后应该有所作为 。 在我失败之后,我查看了桌面更新事件,但是我没有运气。 我收到的错误是,“处理程序不存在于Microsoft.Office.Interop.Excel命名空间,你是否错过了一个程序集,我不认为这是我需要去的正确的方向,但我是试图看看它是否适合我的需求。 使用Excel Interop方法以外的任何其他方法可能会使我回到几个星期。 有关于表更新事件处理程序或可能sorting事件本身丢失的东西吗?

Excel VBA中的C#COM互操作DLL

当试图从一个已经存在的DLL源代码构build一个在Excel VBA中使用的DLL时,我陷入了第一步。 源代码看起来像这样 using System; using System.Runtime.InteropServices; using System.Text; namespace ZCon { public class ZConsts { #if __MonoCS__ public const string ZLibrary = "zcon.so"; #else public const string ZLibrary = "zcon.dll"; #endif } public class ZClient { [DllImport(ZConsts.ZLibrary)] protected static extern int WriteIt(IntPtr Client, int Len, byte[] Buffer); public int WriteArea(int Len, byte[] Buffer) { […]

需要澄清答案正确清理Excel互操作对象

关于Hans Passant对这个问题的回答… 用IDisposable清理Excel Interop对象 … 他启发我的事实,我不需要遵循两点规则…声明所有COM对象,所以我可以释放通过Marshal.ReleaseComObject时,他们完成。 所以现在我明白我可以在我的Excel代码之后调用GC.Collect和GC.WaitForPendingFinalizers,并且所有对象都会正确释放。 一个,我认为这是伟大的,将减less我写在C#中的macros的长度,但我习惯于释放对象,一旦我完成它们,以最大限度地减lessmacros运行时的内存使用情况。 我应该关心清理物体,还是像汉斯所build议的那样,在macros的末尾进行清理呢? 我通常使用巨大的文件,我的macros将创build许多COM对象来完成任务。

如何validationExcel互操作对象是否正确清理?

我在我的项目中实例化Excel互操作对象。 我知道清理这些对象需要特别的努力(见这个问题 )。 有没有自动的方法来validation清理是否正确完成? 详细说明,我知道,如果清理工作不正确,Excel.exe可能会在调用Application.Quit后继续运行。 但是,我不清楚这是否是一个可靠的testing条件。 而且,由于一个持续不断的Excel.exe过程只是真正的function障碍的一个症状,如果存在这样的情况,使用更接近根本原因的testing条件似乎更可取。

Microsoft Office Interop Excel VS Microsoft Excel对象库

我正在使用Visual Studio 2015并尝试从C#中自动执行excel 365,我相信我想在框架/程序集的引用中添加“Microsoft office interop excel”,但是没有选项可供select。 有人告诉我,我也可以使用COM下的“Microsoft Excel Object library”。 这两者有什么区别? 我需要做些什么来安装“Microsoft Office Interop Excel”?

如何在Excel Interop程序集14和15中获取页面高度和宽度?

我想获得一个Excel工作表的页面的高度和宽度,所以我可以创build一个与页面大小相同的位图。 我正在使用以下互操作程序集: Microsoft.Office.Interop.Excel版本14 和 Microsoft.Office.Interop.Excel版本15 在这个使用互操作程序集版本11的示例中 ,在Worksheet类/接口的PageSetup属性上都有一个PageWidth和PageHeight 。 但是,在我使用的程序集版本中,没有这样的属性。 https://msdn.microsoft.com/en-us/library/office/microsoft.office.interop.excel.pagesetup_members.aspx 如何获得工作表的所有页面的页面高度和宽度? 或者它们现在是不同的,我必须迭代Worksheet.PageSetup.Pages集合中的每个页面? 如果我只想将工作表的标题设置为大小等于页面高度和宽度的图像,我该怎么办?

如何使用interop在excel单元中删除文本?

在我的应用程序中,客户端需要删除单元格中的某些文本部分,而某些部分不应该被删除。 有没有办法在C#的COM Interop做到这一点?