I've build a simulation template in Aspen HYSYS V9 and want to transfer the data for the column internals such as internal type, tray/packing type and end stage from an Excel sheet to HYSYS using VBA Automation. I have not found the internals in the object browser so I tried accessing the internals with a backdoor variable. To find out the moniker I recorded a script in which I opened the "internals"-page of a column and changed the type from trayed to packed and back to trayed. The script shows the following:
Message "FlowSht.1/UnitOpObject.400(Regenerator)" "view"
Message "FlowSht.1/UnitOpObject.400(Regenerator)/FlowSht.600" "MakeMeActiveColumnOp"
SpecWhileSolving Specify "FlowSht.1/UnitOpObject.400(Regenerator)" ":Enum.590.0" 0.000000000000e+000
SpecWhileSolving Specify "FlowSht.1/UnitOpObject.400(Regenerator)" ":Enum.590.0" 0.000000000000e+000
SpecWhileSolving Message "FlowSht.1/UnitOpObject.400(Regenerator)/FlowSht.600" "MakeMeActiveColumnOp"
Specify "FlowSht.1/UnitOpObject.400(Regenerator)" ":PageNumber.0" 1.000000000000e+001
SpecWhileSolving Specify "Utility.300(Internals-1@Main Tower@COL4)" ":Index.709" 0.000000000000e+000
Specify "Utility.300(Internals-1@Main Tower@COL4)" ":Index.709" 0.000000000000e+000
SpecWhileSolving Specify "Utility.300(Internals-1@Main Tower@COL4)" ":Selection.711.0" 1.000000000000e+000
Specify "Utility.300(Internals-1@Main Tower@COL4)" ":Index.709" 0.000000000000e+000
Specify "Utility.300(Internals-1@Main Tower@COL4)" ":Index.709" 0.000000000000e+000
SpecWhileSolving Specify "Utility.300(Internals-1@Main Tower@COL4)" ":Selection.711.0" 0.000000000000e+000
Specify "Utility.300(Internals-1@Main Tower@COL4)" ":Index.709" 0.000000000000e+000
Then I wrote the following vba code:
Dim hyfs As Flowsheet
Dim hyfsBD As BackDoor
Dim hyBDVar As RealVariable
Set hyfs = hycase.Flowsheet
Set hyfsBD = hyfs
Set hyBDVar = hyfsBD.BackDoorVariable("Utility.300(Internals-1@Main Tower@COL1)" & ":Selection.711.0").Variable
hyBDVar.SetValue 1, ""
But the return value of hyBDVar is -32767 and I get an error message: "The method "Set Value" for the object "InternalRealVariable" failed."