我有一个无法使用 Visual Basic 与 KEPServer 连接的 Excel 宏。
问题是某些版本的 Windows 计算机可以连接它,而其他版本则不能。目前我正在使用 Windows 10、Excel 2010 和 KEPServer 5.13。宏过去可以完美运行,因此某种 Windows 更新一定会使其失败。
该程序在执行 DDERequest 时失败并返回错误 2023。我还注意到 KEPServer 不断给出以下错误:
Date Time Level Source Event
21/01/2020 16:57:23 Error DDE Attempt to add DDE item 'TOOL1.PLC.MESCADA_BoxProductionCounter' failed.
Vba使用的代码是:
Private Sub Establish_Connection_Click()
Dim Tmp_Old_BoxProductionCounter As Variant
RSIchan = DDEInitiate("kepdde", "_ddedata")
Estat_Conexio.Text = " Connected to hardware "
Mode = "Automatic"
Tmp_Old_BoxProductionCounter = DDERequest(RSIchan, "TOOL1.PLC.MESCADA_BoxProductionCounter")'<-- It fails here
Old_BoxProductionCounter = Tmp_Old_BoxProductionCounter(1)
Call Worksheet_Activate
collected_rows = 2
Initiate_Study.Enabled = False
...
它使用 NetDDE 与 KEPServer 连接。我知道它已经过时,并认为这可能是问题所在,并且有一种更现代的方法可以使用 OLE,但我真的不知道该怎么做以及它是否会起作用。
您认为我可以做些什么来修复它,或者是否存在使用 OLE 连接它们的任何方式?