Getting and setting the value of a user variable
Dim var
Set var = GetUserVariable("MyUserVar1")
Dim value
value = var.Variable.Value
value = value + 1
result = value
Set the temperature of a stream three different ways
Temperature.Value = 45 'Set a stream temperature in Celcius
Temperature.SetValue 45,"C"
Dim bd
set bd = MyBackDoor.backdoorvariable(":Temperature.501.0").Variable
bd.value = 45 'Set it via the back door
Set the stream temperature using JavaScript instead of VBScript
language="JavaScript"
Temperature.SetValue(47,"C")
Dew point calculation
if enthalpvalue <> -32767 then 'Make sure the stream has solved
dim myFluid
dim FS
set myFluid = DuplicateFluid
FS = myFluid.PVFlash(PressureValue, 1.0)
If FS = 0 Then ' fsFlashOK
result = myFluid.Temperature.GetValue("C")
resultunits = "C"
end if
end if
Change the "Use Calibration Factors From" setting inside a DHTR reactor depending on the flow rate of the recycle stream
Dim doc
Set doc = Application.ActiveDocument
Dim recStream
Set recStream = doc.GetObjectInCase("RecycleStream")
massflow = recStream.MassFlow.GetValue("t/h")
if massflow <> -32767 then 'Is the value known?
Dim getFromObj
if massflow > 100 then
Set getFromObj = doc.GetObjectInCase(“Reactor A")
else
Set getFromObj = doc.GetObjectInCase("Reactor B")
end if
Dim bd
Set bd = MyBackDoor
Dim var
Set var = bd.BackDoorVariable(":KHunitoperation.600").Variable
if var.Object <> getFromObj then
var.Object = getFromObj
end if
end if
Copy spreadsheet cells
dim acase, ss, i, c, cu, c2
set acase = application.activedocument
set ss = flowsheet.operations.item("SPRDSHT-1")
for i = 3 to 51
set c = ss.Cell("B" & i)
cu = ss.Cell("B" & i).units
application.trace cu, false
set c2 = ss.cell("D" & i)
c2.variabletype = -1
c2.cellvalue = c.cellvalue
c2.variabletype = c.variabletype
next
Get a spreadsheet cell value
'Get hold of the spreadsheet.
Dim sprd
'if the spreadsheet is in the same flowsheet, do this:
Set sprd = FlowSheet.Operations.Item("Economics")
'Or this:
Set sprd = SimulationCase.GetObjectInCase("Economics")
Dim value
value = sprd.Cell("A3").CellValue
'Set the result:
Result=value