当特定的DDE标签更改时,我正在使用SetLinkOnData()
方法来触发功能。我遇到的问题是,它很大程度上取决于是否在单元格公式中使用了该标签。我不想在工作簿中的任何地方使用该标记。我只想监视它的值更改,并在发生这种情况时调用Testing()
。
Public Sub Auto_Open()
ThisWorkbook.SetLinkOnData "DMDDE|DATA!NAME_OF_TAG", "Testing"
End Sub
Public Sub Show_Links()
Dim Link As Variant
For Each Link In ThisWorkbook.LinkSources(xlOLELinks)
Debug.Print "Link: " & Link
Next
End Sub
如果我将任何单元格的公式设置为=DMDDE|DATA!NAME_OF_TAG
,那么当标记值更改时,Testing()
函数将成功触发,并且调用Show_Links()
宏将包含DMDDE|DATA!NAME_OF_TAG
在“立即窗口”的输出中。
如果我从工作簿的所有单元格中删除DMDDE|DATA!NAME_OF_TAG
,而仅使用SetLinkOnData()
对其进行引用,则将永远不会调用Testing()
,并且在以下情况下它不会显示在立即窗口中呼叫Show_Links()
。
是否可以通过某种方式在不使用单元格中使用DDE标签链接的情况下完成这项工作?
注意: 我正在使用Excel 2003(我知道一个很旧的版本。)