问题标签 [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 投票
3 回答
24535 浏览

excel - 以编程方式实例化 Excel 时加载插件

我正在尝试使用 VBA 创建一个新的 Excel 实例:

问题是这个新的 Excel 实例不会加载我正常打开 Excel 时加载的所有插件...... Excel 应用程序对象中是否有任何内容用于加载所有用户指定的插件?

我不是要加载特定的加载项,而是让新的 Excel 应用程序的行为就像用户自己打开它一样,所以我真的在寻找通常加载的所有用户选择的加载项的列表打开 Excel 时。

0 投票
6 回答
4439 浏览

vba - 迭代未注册的加载项 (.xla)

我需要帮助

  • 弄清楚如何使用菜单路径遍历尚未在 Excel 中注册的当前打开的 Excel 加载项文件(.xla) 。Tools > Add-ins
  • 更具体地说,我对任何未出现在加载项对话框中但具有ThisWorkbook.IsAddin = True.

证明问题:

尝试按如下方式遍历工作簿不会获得具有以下内容的工作簿.AddIn = True

循环通过加载项不会获取未注册的加载项:

循环遍历 VBProjects 集合有效,但前提是用户在宏安全设置中具有对 Visual Basic 项目的特别受信任的访问权限 - 这很少:

但是,如果知道工作簿的名称,则可以直接引用该工作簿,而不管它是否是加载项:

但是,如果名称未知,并且不能依赖用户的宏安全设置,那么如何获得对这个工作簿的引用呢?

0 投票
1 回答
1225 浏览

vba - 从宏创建 Excel 加载项时遇到问题

我创建了两个在当前工作簿中使用时运行良好的 VBA 宏函数。我保存为 .xla 并作为加载项导入。然后,我通过 excel 中的菜单找到并激活了加载项,但是当我使用这些函数时,我收到 #NAME 错误和“公式包含无法识别的文本”的描述。我被困住了。

0 投票
2 回答
30837 浏览

excel - 如何解决 Excel 禁用加载项的原因?

我使用Add-in Express在 .NET 中编写了一个 Microsoft Excel 加载项,并将其部署到大约 50 个不同的用户站点,所有站点都在 Windows XP 上运行 Office 2003。该加载项在大多数站点上都可以正常工作,但在少数情况下,Excel 似乎会在一段时间后禁用该加载项,他们必须在禁用的项目列表中找到它才能重新启用。重新启用似乎可以解决它,至少是暂时的,尽管现在说它是否会再次发生还为时过早。所以我想弄清楚为什么 Excel 会禁用加载项,但我在这里寻找的只是找出 Excel 禁用加载项的原因的一般方法。在我的情况下,加载项在远程站点上运行,我只能有限地进行故障排除。我确实查看了事件日志并没有发现任何东西。我的加载项中也有错误日志记录,但没有发现任何问题。

有什么建议么?

0 投票
2 回答
1397 浏览

c# - Excel 加载项将数据从工作表传输到数据库:文件路径问题

我希望为 excel 创建一个插件,它可以读取当前的工作表数据,然后将其插入数据库。数据库连接需要文件位置。因此,不能应用这种方法,因为我必须发送我当前打开的文件并且无法指定文件路径。

此外,我需要将每列的数据插入到 SQL Server 数据库中表的单独列中。有什么建议和代码可以提供帮助吗?

0 投票
2 回答
1260 浏览

excel - Excel VBA - 使用工作簿 B 中的模块更新工作簿 A 中的数据

我有 10 个 XLS,每个都包含几百行 VBA,它们做同样的事情。我想将此通用代码移至第 11 个 XLS,并让其他 10 个调用第 11 个 XLS 中的代码。公共代码必须有权访问调用 XLS 中的所有数据和工作表。关于这个问题的其他答案似乎没有解决最后一个要求。我可以将调用 XLS 的工作表作为参数或类似的东西传递吗?

0 投票
3 回答
1223 浏览

c# - 将变量从 Excel 2007 自定义任务窗格传递到托管 PowerShell

我正在使用 C# 测试 PowerShell 托管。这是一个有效的控制台应用程序:

我首先创建一个 Excel.Application 实例并将其作为名为 $Application 的变量传递给托管的 PowerShell 实例。这行得通,我可以使用这个变量,就好像 Excel.Application 是从 PowerShell 中创建的一样。

接下来,我使用 VS 2008 创建了一个 Excel 插件,并向插件添加了一个带有两个文本框和一个按钮的用户控件(当 Excel 启动时,用户控件显示为自定义任务窗格)。想法是这样的:当我单击按钮时,会创建一个托管的 PowerShell 实例,我可以将当​​前 Excel.Application 实例作为变量传递给它,就像在第一个示例中一样,所以我可以使用这个变量从 PowerShell 自动化 Excel (一个文本框用于输入,另一个用于输出。代码如下:

代码类似于第一个示例,除了当前 Excel.Application 实例可通过 Globals.ThisAddIn.Application (VSTO 生成)用于插件,我可以看到它确实是 Microsoft.Office.Interop.Excel.Application实例,因为我可以使用 app.ActiveCell.Value2 = "Test" 之类的东西(这实际上将文本放入活动单元格)。但是当我将 Excel.Application 实例传递给 PowerShell 实例时,得到的是 System.__ComObject 的一个实例,我不知道如何将它转换为 Excel.Application。当我使用 $Application | 检查来自 PowerShell 的变量时 Get-Member 这是我在第二个文本框中得到的输出:

我的问题是如何将 Microsoft.Office.Interop.Excel.Application 的实例从 VSTO 生成的 Excel 2007 插件传递到托管的 PowerShell 实例,以便我可以从 PowerShell 操作它?

(我之前在微软C#论坛发过这个问题,没有答案)

0 投票
1 回答
1397 浏览

vba - 加载加载项后宏不在列表中

我创建了一个宏 show() 并将其保存为 display.xla 并打开一个新工作簿并添加了显示加载项。但是当我去工具->宏->宏..它不是列表,但是如果我输入 display.xla!show 并单击运行我能够执行它。

无论如何要显示存储在加载项中的宏。?除了在personal.xls中有它。

0 投票
3 回答
3349 浏览

c# - 如何创建读取自定义数据的 Excel 加载项?

我的任务是为 Excel 2007 创建一个从自定义数据源读取数据的插件。我已经有了读取数据的代码。它是用 C# 编写的并返回对象。这是针对银行系统的,我无法直接访问数据。必须向 C# DLL 提供用户 ID、密码和硬件生成的密钥以获取最新数据。

我的老板希望数据每分钟自动更新一次,或者使用 Excel 提供的刷新功能手动更新。所以我需要让数据出现在 Excel 中,就好像它来自标准数据库连接一样。

我环顾四周寻找一个起点,但我正在努力寻找一些有助于满足这一非常具体要求的信息。任何人都可以帮忙吗?

0 投票
1 回答
289 浏览

visual-studio - 我应该在 VS 2008 和 Office 2003 中使用哪个 COM shim 向导版本

在 2.3.1 的下载页面上,它只提到了与 Office 2007 的兼容性。我尝试安装 v2.0,但在项目类型中看不到向导。