我有一个从Excel读取数据并将数据写入Excel文件的程序。我需要将命令从Excel文件发送到c#程序(例如从excel中捕获F9并在c#程序中获取它)
我正在使用Microsoft.Office.Interop.Excel框架。
我该怎么做?>
答案 0 :(得分:1)
excel应用程序界面还为某些excel函数提供事件,例如
Microsoft.Office.Interop.Excel.Application:
//
// Summary:
// Occurs after any worksheet is recalculated or after any changed data is plotted
// on a chart.
event AppEvents_SheetCalculateEventHandler SheetCalculate;
答案 1 :(得分:0)
您可能必须调用本机Win32方法来添加一个消息钩子,在Excel窗口中查找字符消息。
答案 2 :(得分:0)
oferyo,
您好。您没有提到需要处理的数据量大小?或类型,(问题如下:'发送'到目标Excel文件的内容是否包括图形或仅包含数据?)。
您没有提到您正在使用哪个版本的C#,但您可以考虑从嵌入或添加到原始Excel电子表格的VBA脚本中调用Web服务?
MSDN article on calling WebServices from within VBA
我不记得如何将VBA代码转换为Excel电子表格中的特定事件(如重新计算/按F9),但我认为这应该是微不足道的。
如果您使用的是C#3.5或更高版本,则可以在应用程序中托管WCF服务...但我建议您更好地描述问题,因为它可能是VBA-> WCF / WebService->应用程序解决方案可能是严重过度设计?
希望这有助于您考虑VBA中的选项......
的问候,
Aidanapword