0

我有一个启用宏的 Excel 工作表。我想在没有 excel 菜单标题的 VB6/VB.NET 表单内显示 Excel 工作表,并在表单内执行 excel 活动。

请注意,当输入某些单元格时,我需要执行一些宏操作...

我的目标是创建一个独立的 VB6/VB.Net 表单,其中应显示 excel 单元格以执行宏操作。

我试过寻找任何样品,但没有运气。应该是这样的…… 在此处输入图像描述

任何人都可以提示我实现这一目标吗?

4

2 回答 2

2

据我所知 - 这是不可能的。原因是您不能在 VBA 中对 excel 窗口进行子类化。如果您使用 VB.NET 或 VB6 在 excel 之外进行编程,这是有可能的,但可能效果不佳。如果您只想显示工作表中的一些数据并对它们执行一些小操作,您可以通过 EPPLUS 库读取数据,将它们显示为数据表(EPPLUS 可以在数据表和 excel 文件之间转换),执行您的操作并之后将它们保存到文件中。但这仅适用于 VB.net

于 2013-09-10T10:49:34.690 回答
0

去年我对此做了很多研究。没有可用的软件包来执行您所要求的,由 MS 提供或免费提供,但是,您可以在 vb.net 中创建一个 datagridview (DGV) 并通过 ADO.NET 将数据加载到 DGV 中。加载到单元格中的数据将反映您的电子表格。然后,当您修改 DGV 中的单元格时,有一个标签,如您所示,将数据更改更新回 Excel 工作表。

http://social.msdn.microsoft.com/Forums/en-US/7a1c828d-04ed-4a8d-927d-3649f29d2060/import-data-from-excel-sheet-into-datagridview

至于调用宏,使用excel互操作功能调用宏:

http://social.msdn.microsoft.com/Forums/office/en-US/2e33b8e5-c9fd-42a1-8d67-3d61d2cedc1c/how-to-call-excel-macros-programmatically-in-c

您正在做的事情可能有一些第三方支持,但当然需要花钱: http ://www.componentone.com/SuperProducts/SpreadStudio/?gclid=CLKIy6TqwLkCFYZlOgodhToAZg

于 2013-09-10T12:30:21.780 回答