我有一个启用宏的 Excel 工作表。我想在没有 excel 菜单标题的 VB6/VB.NET 表单内显示 Excel 工作表,并在表单内执行 excel 活动。
请注意,当输入某些单元格时,我需要执行一些宏操作...
我的目标是创建一个独立的 VB6/VB.Net 表单,其中应显示 excel 单元格以执行宏操作。
我试过寻找任何样品,但没有运气。应该是这样的……
任何人都可以提示我实现这一目标吗?
据我所知 - 这是不可能的。原因是您不能在 VBA 中对 excel 窗口进行子类化。如果您使用 VB.NET 或 VB6 在 excel 之外进行编程,这是有可能的,但可能效果不佳。如果您只想显示工作表中的一些数据并对它们执行一些小操作,您可以通过 EPPLUS 库读取数据,将它们显示为数据表(EPPLUS 可以在数据表和 excel 文件之间转换),执行您的操作并之后将它们保存到文件中。但这仅适用于 VB.net
去年我对此做了很多研究。没有可用的软件包来执行您所要求的,由 MS 提供或免费提供,但是,您可以在 vb.net 中创建一个 datagridview (DGV) 并通过 ADO.NET 将数据加载到 DGV 中。加载到单元格中的数据将反映您的电子表格。然后,当您修改 DGV 中的单元格时,有一个标签,如您所示,将数据更改更新回 Excel 工作表。
至于调用宏,使用excel互操作功能调用宏:
您正在做的事情可能有一些第三方支持,但当然需要花钱: http ://www.componentone.com/SuperProducts/SpreadStudio/?gclid=CLKIy6TqwLkCFYZlOgodhToAZg