com-interop相关内容

COM-> .NET - 无法访问重载方法

我正在尝试从COM(jscript)访问(图像调整器) .Net库。 我已经尝试了IDispatch和类接口生成,以及相关类的[ClassInterface(ClassInterfaceType.AutoDual)]。 有一个方法有3个重载: 位图构建(对象,ResizeSettings设置) void Build(object source,object dest,strin ..
发布时间:2019-05-27 15:08:47 前端开发

为什么ArrayList与COM Interop协同工作,但IList< T>不?

我注意到,如果我制作一个暴露ArrayList的.NET组件,那么ArrayList将通过COM Interop并且可以使用VBScript等脚本语言。 泛型,例如 IList 似乎不起作用。 为什么会这样任何使泛型类型成功通过COM Interop流向脚本引擎的方法? 解决方案 泛型是在.NET 2.0中添加的, COM在.NET 1.0之前就已经存在了。 (并 ..
发布时间:2018-04-23 13:57:35 其他开发

如何总是得到COMException而不是OutOfMemoryException?

我的C#代码使用COM对象。有时,COM对象方法将返回 E_OUTOFMEMORY ,但它会被转换为 System.OutOfMemoryException 而不是 System.Runtime.InteropServices.COMException 与适当的 ErrorCode 。这对我来说是一个问题,因为它使我的错误处理变得复杂 - 我希望将COM对象方法中引发的所有错误指示都抛出为 Sys ..
发布时间:2017-10-01 18:28:32 C#/.NET

异常处理:在参数验证时你会有多细微?

我正在使用单一方法编写一个简单的小类来发送电子邮件。我的目标是在遗留的Visual Basic 6项目中实现它,通过COM Interop工具将其显示为COM对象。 有一个细节我发现很难解决,我应该如何精细地验证参数。在这个光线上,我真的不高兴,而且根本不是一个细节,是我实际处理例外的方式: public class MyMailerClass { #region创建 pub ..
发布时间:2017-10-01 16:18:30 C#/.NET

在Excel VBA中调用没有COM互操作的管理权限的regasm

COM Interop without regasm 我正在尝试创建一个COM库,我的用户可以从Excel VBA部署和使用没有管理员权限。我喜欢regasm的解决方法,因为似乎人们使用Excel VBA中无注册的COM对象没有太大的成功。我也希望早期绑定,所以我的用户可以从语法完成中获益。 然而,上面提到的问题中接受的答案并没有描述将程序集dll在用户的电脑上。管理员权限需要在GAC ..
发布时间:2017-09-23 18:22:05 Office

Excel:具有多个区域的范围的值

我想使用C#在excel中获取非连续的多区域范围的值。我看到另一个SO问题,表示我可以这样做: / p> obj [,] data = sheet.get_Range(“B4:K4,B5:K5”)get_Value() 但是,当我检查结果时,我看到我只从第一个区域获取数据: code>“B4:K4”。 进一步测试,我发现如果以下列方式请求数据: / p> ..
发布时间:2017-09-09 15:46:13 C#/.NET

导入txt文件使用excel interop在C#(QueryTables.Add)

我正在使用Querytables.Add将文本文件插入到excel单元格中;没有错误,但工作表是空的。除了使用Value2属性的单细胞操作外。 我已经使用宏来记录使用的对象。 你可以帮我吗(我使用vs2008,C#,excel 2003和2007;都显示为空单元格)。 下面是我的代码;感谢您的帮助 Application application = new Applica ..
发布时间:2017-09-07 06:32:44 C#/.NET

Can Range.Value2& Range.Formula在C#中有不同的值,而不是VBA?

我想创建一个 UDF ,就像 GetPath(参数),其中参数可以是单元格引用像“B1”,或一个字符串 根据输入, GetPath web服务获取输入路径 eg单元格的公式 A1 = GetPath(B1),单元格 B1 有一些字符串,该函数应该返回路径并放置在单元格A1中,即A1的路径为“Value2”。 现在在C#中,当我执行sth FormulaCell.Value2 = path ..
发布时间:2017-09-07 05:37:05 C#/.NET

如何判断Excel应用程序是否处于单元格编辑模式?

我正在使用.net中的COM Interop编写一个Excel Addin。我有一个弹出对话框的命令,从对话框中我做了一些工作,例如从几个工作表的使用范围收集数据。问题是,如果一个单元格处于编辑模式,我需要做的一些调用会抛出异常。我想要一种确定Excel处于编辑模式的方法,以便我可以先提醒用户完成编辑单元。 任何想法? / p> 解决方案 有一个Application.Ready属性 ..
发布时间:2017-09-07 05:15:09 C#/.NET

如何正确清理C#中的互操作对象

这是一个关于 的问题的答案如何正确地清理c#中的excel互操作对象。 gyst是在Excel命名空间中使用链接调用(例如ExcelObject.Foo.Bar())可以防止COM对象的垃圾回收。相反,应该显式地创建对所使用的每个COM对象的引用,并使用Marhsal.ReleaseComObject()明确地释放它们。 是否仅在特定于Excel COM对象的链接调用之后不释放COM ..
发布时间:2017-09-07 03:42:56 C#/.NET

我如何加速从C#创建excel Excel电子表格?

我目前正在使用带有C#COM Interop的Excel 2007编写大约200个Excel电子表格。 不幸的是,我需要大约4分钟的时间写这些200张 - 每张表都有1000行与8- 10列。 如何加快速度? 我的代码看起来像这样基本上: var xlApp = new Excel.Application(); xlApp.DisplayAlerts = false; ..
发布时间:2017-09-07 02:17:27 C#/.NET

使用Wrapper对象来正确清理excel的互操作对象

所有这些问题: Excel 2007通过.NET关闭时挂起 如何正确地清理C#中的Excel互操作对象 如何正确清理C#中的互操作对象 遇到C#在使用它们后不能正确释放Excel COM对象的问题。这个问题主要有两个方向: 当Excel不再被使用时,可以关闭Excel进程。 请小心明确地分配给变量使用的每个COM对象,并确保最终每个执行Marshal.ReleaseComO ..
发布时间:2017-09-07 01:18:16 C#/.NET

Excel interop - 如何停止数字(存储为文本)被“评估”

我想知道是否有人遇到了以下问题,并有任何想法如何解决它:我将数据从C#应用程序(.NET 3.5)导出到Excel(2003)通过Interop。其中一列存储显示为数字的字符串值。也就是说,它是以0开头的数字。 000123 我需要存储完整号码,因为它可能是序列号或类似的东西。 Excel不热衷于这一点,所以我想我可以通过将目标单元格设置为一般来解决它。当我导出到Excel时,我发现123存 ..
发布时间:2017-09-04 00:51:39 C#/.NET

在Excel VBA中如何通过“状态丢失”来保存关键变量(不写入单元格或文件)?

Excel VBA是一个灵活的开发环境。它是pesudo编译的。然而,有时在开发过程中可能会发生“国家损失”。所有变量都被拆除时,“状态损失”。事实上,VBA有一个选项“通知状态损失”选项进行分类。在所有情况下都不能编辑和继续代码是不足为奇的。 然而,有时国营损失在生产中运行时发生,因为打开其他工作簿可能会导致您的应用程序会话的创伤(相信我,发生!) 我知道一个人可以将数据保存到一个工作表 ..
发布时间:2017-09-03 20:22:16 Office

Excel互操作加载XLL和DLL

我已经与Bloomberg API(使用简单的电话,如= BDP(“MS权益”,“询问”))相得益彰。我还有一个C#应用程序打开一个使用Bloomberg API的excel文件(通过interop)。我已阅读此处加载时加载的加载项通过互操作我甚至尝试使用建议的代码。但是,这只适用于XLL和XLAM文件,并且看起来彭博社也使用不加载的DLL文件。有没有办法让所有这些插件通过interop加载? ..
发布时间:2017-09-03 19:32:20 C#/.NET

无法将类型为“microsoft.Office.Interop.Excel.ApplicationClass”的COM对象转换为“microsoft.Office.Interop.Excel.Application”“

这是我第一次尝试从一个C#控制台应用程序中从excel中捕获一些数据。 我收到错误“无法转换类型的COM对象” .Office.Interop.Excel.ApplicationClass'到'microsoft.Office.Interop.Excel.Application'“。 此代码使用”Microsoft Excel 12.0对象库“我引用了Microsoft.Office. ..
发布时间:2017-09-03 18:18:53 C#/.NET

在Live(未保存)Excel数据和C#对象之间进行界面的最快方式

我想知道从打开的Excel工作簿到c#对象的数据读取和写入速度最快的方式。背景是我想开发一个从Excel使用的c#应用程序,并使用Excel中保存的数据。 业务逻辑将驻留在c#应用程序中,但数据将驻留在Excel工作簿中。用户将使用Excel,并将单击excel工作簿上的按钮(或执行类似操作)以启动c#应用程序。然后,c#应用程序将从excel工作簿读取数据,处理数据,然后将数据写回exce ..
发布时间:2017-09-03 16:50:31 C#/.NET