Невозможно соединить макрос VBA из Excel с KEPServer. DDERequest error 2023 - PullRequest
1 голос
/ 21 января 2020

У меня есть макросы Excel, которые не могут соединиться с KEPServer с помощью Visual Basi c.

Дело в том, что для некоторых версий 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?

...