问题标签 [excel-addins]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
394 浏览

excel - Excel 自动化插件 UDF 无法访问

我创建了以下自动化插件:

我构建它并且它注册得很好。我打开excel 2003,转到工具->插件,单击自动化按钮,插件出现在列表中。我添加它,它显示在插件列表中。但是,功能本身并没有出现。如果我输入它不起作用并且如果我查看函数向导,我的插件不会显示为类别并且函数不在列表中。

我在 Windows 7 x86 上使用 excel 2003。我用visual studio 2010构建了这个项目。这个插件在用visual studio 2008构建的windows xp上运行良好。

0 投票
1 回答
865 浏览

c# - 在自定义 xll 函数上执行 Excel4Macro

我有一个用于 Excel 的 C++ .xll 插件。以下测试工作表功能适用于加载的 xll:

即 =Test() 在工作表中返回“Yayage”。xlstring 是我自己的自定义方法,它将字符串转换为 excel 字符串,并指定 excel 或 xll 是否负责释放其内存。

我打算使用 VBA 为 2003 及以前的版本生成一个“GUI 伴侣”插件,以及为 2007 及更高版本生成一个 C# Excel 2007 插件项目。这些都将与与 Web 服务通信的版本无关的 .xll 一起工作。

C# 和 VBA 都具有以下 Excel 函数: Application.ExecuteExcel4Macro(string) Application.Evaluate(string) Application.Run(...)

这些工作正常(除了 .Run ,它在 C# 中需要 32 个参数)与返回字符串的普通工作表函数,例如在 VBA 中:

生成一个包含“Billy Bob Fred”的消息框

但是,我无法让它与我的任何自定义工作表函数一起使用。将它们注册为命令而不是工作表函数也不起作用。

我尝试了不同风格的函数名称,有和没有 = / (),以及我能想到的所有其他东西。

谁能帮我这个?

0 投票
2 回答
1150 浏览

c# - 获取Excel插件修改数组公式参数;或执行 'ctrl-shift-enter'

我正在尝试使 C# Excel 添加就地更改数组公式的参数;即与用户修改数组公式并按 ctrl-shift-enter 相同。

设置 activeCell.FormulaArray 属性并不能实现这一点;它会引发“您无法更改数组的一部分”错误。

有谁知道我怎么能做到这一点?

一个同样适用于 VBA 的解决方案将非常棒。

我已经尝试创建一些逻辑,“走”到数组公式的周边并首先将其删除,但它没有考虑相邻的数组公式,我认为这是不必要的激烈。

0 投票
1 回答
274 浏览

c# - 在 C# 插件中创建的 Excel 工具栏中的自定义按钮问题

我目前正在为 Microsoft Excel 开发 ac# 插件。我使用自定义按钮为此插件创建了一个工具栏。除了一个特定的行为外,一切都运行良好:

当您以小格式打开 excel 窗口时,假设屏幕的一半,一些按钮隐藏在菜单后面,如果您单击一个小箭头,则可用。问题在于该菜单中的按钮,与它们相关的单击事件不会在插件中捕获。当您最大化窗口并且按钮完全可见时,将捕获该事件并启动该过程。

有没有人遇到过同样的问题或对这个问题有任何建议/线索?

非常感谢您的帮助

0 投票
3 回答
9969 浏览

excel - Excel公式检查单元格内容

我正在尝试在运行时(huzzah)为加载项(double huzzah)创建一些条件格式,并且发现,显然,某些函数不能像在普通工作表中那样使用。(在尝试创建引用 VBA 函数的 CF 时,我只是得到一个无效的过程调用错误 5,即使它在加载项而不是工作簿中;我可以使用内置的 -在功能中。)我为此找到的最清楚的确认是here,但它并没有真正解释问题所在;这是深奥的部分,我很想听到更多关于我能期待什么的信息。

橡胶遇到道路的部分是:我可以完全避免 VBA,并使用一系列仅限 Excel 的内置函数来验证给定单元格是否包含常量(即用户输入的值)、公式 (即某种计算、逻辑运算等——几乎以 = 开头)或链接(即对另一个工作表或另一个工作簿中的单元格的引用)?我知道 Excel 触手可及。见证 GoTo/Special 的用途和速度。怎么能得到它呢?

在此先感谢您的帮助。

0 投票
1 回答
456 浏览

c# - Excel 2007 Addin - Technology options


We have a number of .xla/.xlam Excel Addins and the time has come to migrate to something easier to version control and maintain.
I'd like to write in C# if possible and the Addins will need to do the following sorts of things:-

  • Provide User Defined Functions to Excel
  • Create and manipulate named ranges in the Excel sheet
  • Pull data from external sources and populate cells in the Excel sheet

Currently all this is possible and simple to do with a .xlam what are the pros/cons of moving to VSTO or creating a C# Addin (I notice VS2010 has a New Project option of creating an Excel 2007 Addin).
Are there any good sources of documentation?
Thanks Dave

0 投票
2 回答
2866 浏览

excel - 如何让 Excel 加载项 (Excel 2007) 中的用户定义函数与自动完成功能一起使用?

我创建了一个加载项,当我在表达式框中使用它时,自动完成功能不起作用。当我单击用户定义函数下的函数“f”按钮时,我确实看到了它们。我只想让 AutoComplete 与他们一起工作,这样我就不必记住他们的名字,也不必每次都单击功能“f”按钮。

0 投票
3 回答
1222 浏览

c# - Excel 插件开发

我想开发 Excel 插件,我想使用它从不同的列中读取数据并将它们发送到我的数据库。

所以你能推荐我好的电子书或任何教授最好的开发的网站链接......???

0 投票
2 回答
8264 浏览

vba - 以编程方式保存 Excel 加载项

我有一个用户偶尔更新的工作表,用于制作加载项 (.XLAM)。加载项位于网络共享上,用户链接到它。我希望用户能够轻松更新此加载项(确保将其标记为只读)

我在这里看到了 Ken Puls关于部署 Excel 插件的文章,但是.SaveCopyAs他使用的方法似乎无法接受文件类型。

.SaveAs方法可以,但是当尝试此方法时,我收到一条消息说文件格式或扩展名无效,我已尝试使用 .XLAM 和 .XLA ,如下所示。

在这方面的任何帮助将不胜感激。

0 投票
2 回答
1931 浏览

c# - 从 C# 创建 PowerShell 自动变量

我试图使 Excel VBA 的自动变量(如 ActiveSheet 或 ActiveCell)也可作为 PowerShell 的“自动变量”使用。PowerShell 引擎托管在 Excel VSTO 加载项中,并且 Excel.Application 作为 Globals.ThisAddin.Application 提供给它。我在 StackOverflow 上找到了这个线程并开始创建 PSVariable 派生类,例如:

并将它们的实例添加到当前的 POwerShell 会话中:

这很有效,我可以将 PowerShell 中的这些变量用作 $ActiveCell 和 $ActiveSheet(它们的值随着 Excel 活动表或单元格的变化而变化)。然后我在这里阅读了 PSVariable 文档并看到了这个:

“没有从此类派生的既定方案。要以编程方式创建 shell 变量,请创建此类的实例并使用 PSVariableIntrinsics 类对其进行设置。”

当我从 PSVariable 派生时,我尝试使用建议的内容:

使用它,$ActiveCell 出现在我的 PowerShell 会话中,但它的值不会随着我更改 Excel 中的活动单元格而改变。

PSVariable 文档中的上述评论是我应该担心的,还是我可以继续创建 PSVariable 派生类?是否有另一种使 Excel 全局变量可用于 PowerShell 的方法?