1

我有一个无法使用 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 连接它们的任何方式?

4

0 回答 0