Я использую этот код с Arena, программным обеспечением для моделирования от Rockwell Automation.Я пытаюсь получить код для чтения некоторых данных из листа Excel и присвоить его атрибуту объекта, который входит в модуль vba.Когда я запускаю симуляцию, я получаю это окно ошибки SIMAN:
"17035: объект EEVBA: 2
Ошибка времени выполнения обнаружена в момент времени 0.0 в следующем блоке: * 6 15 $ VBA: 0, vba: NEXT (2 $);
Событие № 0 недопустимо: должно быть положительным. "
Что означает эта ошибка?Это мой код, есть предложения?:
Option Explicit
Public XL As Object
Public Wo As Integer
Public W_1 As Integer
Public NumContenedor As Integer
Public Sub ModelLogic_RunBeginSimulation()
Dim m As Model
Set m = ThisDocument.Model
Dim FileToOpen As String
Set XL = GetObject("", "Excel.Application")
FileToOpen = "C:\Users\A\data.xlsx"
XL.Workbooks.Open FileToOpen
End Sub
Public Sub VBA_Block_1_Fire()
Dim s As SIMAN
Set s = ThisDocument.Model.SIMAN
NumContenedor = s.EntityAttribute(s.ActiveEntity, s.SymbolNumber("NumContenedor"))
Wo = XL.Workbooks(1).Worksheets(1).Cells(NumContenedor, 4).value
W_1 = XL.Workbooks(1).Worksheets(1).Cells(NumContenedor, 5).value
s.EntityAttribute(s.ActiveEntity, s.SymbolNumber("deltaW")) = W_1 - Wo
End Sub
Public Sub ModelLogic_RunEnd()
XL.Quit
End Sub