问题与Excel的自动化功能

i'm编程VSTO外接结合自动化使用MS Visual Studio 2008中的自动化加载项在Excel启动,并在系统中注册的加载项在VB.NET。 基本上是自动化加载运行得很好,当你调用的函数

"=<function-name>(<argument1>;<argument2>;...;<argument-n>)"

通过将其写入Excel单元格或使用functionwizard。

该VSTO外接用于启动过CommandBarButton的一个窗口形式,用户可以在其中输入的参数,这是必需的。 如果用户完成了一个字符串将被写入到单元建造和看起来像上面的例子是写。

当用户启动Excel,只是用窗口形式生成的字符串,然后单击“确定”,填补了细胞与它的问题i'm与战斗,Excel尝试发现,在“=”该功能的原因细胞,但不觉得。 在单元格终于站Name?因为看在functionwizard列表后,我注册的函数disapeared。(顺便说一句外接仍在上市的“预算外>加载项”,也在下excelstart后重新加载)

但在另一种方式,如果用户首先使用functionwizard来获取函数的值,在单元格或甚至只是打开functionwizard,直接开通后关闭不使用的功能,它每手类型,我的窗口形式生成的字符串做的工作。

该onButtonClick事件进行下面的示例代码:

Me.Application.ActiveCell.Value = "=FUNCTION(""value1"";""value2"")"

所以现在我的问题是,为什么是自动化功能disapearing当用户只使用字符串生成器在第一次?

有些建议甚至是解决了我的问题,将是非常好的。

问候马丁

--------------解决方案-------------

好吧,

搜索并没有成功的其他代码的测试一周后,我发现我的问题由我自己的原因。 我不知道为什么的excel踢函数出的列表中,但下面的说明将没有解决问题。

我做了2失误试图通过代码来调用该函数。 第一个是,我选用写入单元格的错误的方法......只要使用“me.application.activecell.formula”。

第二,也是最重要的原因就是真正的原因,整个事情didn`t工作。 试图通过设定每一个参数,分号,括号等了一根弦Excel读取字符串中的计算模式,并正在一些错误,当它击中的公式中的分号。 这引起了收到COMException(HRESULT:0x800A03EC)说,仅仅是故障发生。

Excel中missreads分号,在这一点上引发异常。 偶然我找到了解决方案,以分号套入公式来分隔参数。 你只要写“”,“”到代码,而不是“;”。

i'm高兴,如果我的解决方案能帮助有同样问题的其他开发商。

问候马丁

分类:vb.net 时间:2012-02-24 人气:0
分享到:

相关文章

Copyright (C) 55228885.com, All Rights Reserved.

55228885 版权所有 京ICP备15002868号

processed in 0.589 (s). 10 q(s)