Excel VBA - 为DDE链接单元中的每个更新值创建行

时间:2017-06-09 13:06:33

标签: excel vba dde

让我们说单元格A1有一个DDE链接," = dde(realtime_stock_price"。每次更新时如何将值发送到列的新行?Change()函数不起作用,因为它不是用户在进行更改。我尝试了Calculate()函数,但不太确定如何实现它。

1 个答案:

答案 0 :(得分:0)

公式" = dde()"不是我熟悉的东西。但是,您可以创建自己的dde函数来调用事件代码...

HiringFactor parentFactor = db.HiringFactors.AsNoTracking().Find(parentId);

修改

根据this question,传递给Public Function dde2(ByVal app as string,ByVal topic as string,ByVal item as string) as variant with Application channelNumber = .DDEInitiate(app,topic) dde2 = .DDERequest(channelNumber, "Topics") .DDETerminate(channelNumber) end with on error resume next 'incase macro doesn't exist Application.run "dde2_postExec", dde2 on error goto 0 End Function Sub dde2_postExec(ByVal message as string) 'do stuff... end sub 的字符串为=DDE()。或者在我们的例子中:"Service|Topic!Item"可以很容易地从字符串中提取。但请注意DDE() is NOT a native function of excel。因此,我们不太可能知道"App|Topic!Item"如何制定清洁解决方案。

EDIT2

根据您的评论,说DDE正在播放DDE(),您想要输出"12...13...14..."B1 = 12B2=13。你的代码就像这样[未经测试]:

B3=14

但请注意,如果将其作为公式调用,则可能无效。 VBA运行时的设计使得在评估forumla时,除了调用它们的单元格之外,它们不能将值写入工作表中的单元格。因此,您可能会被迫进入工作表事件而不是使用公式计算事件。