Your can do something like this to get access to the lines, methinks:
Set oLines = oBusObj.AsObject(oBusObj.Detail_Object) ' Detail_Object is your latent ingredient
sItemCodeDesc = """" : sItemCode = """"
retVal = oLines.GetValue(""ItemCode$"", sItemCode)
retVal = oLines.GetValue(""ItemCodeDesc$"", sItemCodeDesc)
----------------
So similarly do oLines.GetValue on your UDF_
First be sure to be on the correct line / item then click your button.
I dunno but try it.