标题: vbscript vuser脚本如何参数化 [打印本页] 作者: hlw1013 时间: 2008-6-25 14:25 标题: vbscript vuser脚本如何参数化 使用vbscript协议录制的脚本,该如何实现参数化呢?
~~~~~~~~~~~~~~~~~~~~~~~~~~
Sub CreateMsiFile()
Dim fso, tf, f2, ts, s
Set fso = CreateObject("Scripting.FileSystemObject")
for i=1 to 2
Set tf = fso.CreateTextFile("C:\test RIS\MSI_IN\SC_IP_"&i&".msi", True)
' Write a line with a newline character.
tf.WriteLine("MESSAGE_ID<SC_IP_"&i&">")
tf.WriteLine("MESSAGE_TYPE<ORM>")
tf.WriteLine("EVENT_TYPE<O01>")
tf.WriteLine("ORDER_CONTROL_ORC<SC>")
tf.WriteLine("PLACER_ORDER_NUMBER_ORC<3000000001>")
tf.WriteLine("FILLER_ORDER_NUMBER_ORC<436762>")
tf.WriteLine("ORDER_STATUS_ORC<IP>")
tf.WriteLine("VERIFIED_BY_ORC<zhanghonghui>")
tf.WriteLine("VERIFIED_BY_ID_ORC<zhanghonghui>")
tf.WriteLine("PATIENT_ID<1000000001>")
tf.WriteLine("PATIENT_CLASS<I>")
tf.WriteLine("VISIT_NUMBER<2000000001>")
tf.WriteLine("PATIENT_NAME_I<¹ÛÒôÆÐÈø>")
tf.WriteLine("PATIENT_NAME_S<guanyinpusha>")
tf.WriteLine(a)
next
End Sub
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
上面是自己写的一个vbscript函数,在Generator中可以运行,但一旦对脚本里面的数值进行了参数化(比如将("PATIENT_ID<1000000001>")中的1000000001参数化)
运行脚本的时候提示Error: Error : vuser_init.vbs (18) : column 4 : Object required: 'lr' , err # = 424
实际上vuser_init.vbs 中并没有包含任何脚本啊,不参数化的时候运行正常。作者: zhangyan8212 时间: 2008-6-25 15:32
问一下怎么样能在vbscript协议下录制脚本?作者: hlw1013 时间: 2008-6-25 16:01
查看了帮助后问题解决了
格式如下:
~~~~~~~~~~~~~~~~~~~~~~
Public Function Action()
Dim fso, tf, f2, ts, s
Set fso = CreateObject("Scripting.FileSystemObject")
Set tf = fso.CreateTextFile("C:\test RIS\MSI_IN\SC_IP_" + lr.eval_string("<order_number>") + ".msi", True)
' Write a line with a newline character.
tf.WriteLine("MESSAGE_ID<SC_IP_" + lr.eval_string("<order_number>") +">")
tf.WriteLine("MESSAGE_TYPE<ORM>")
tf.WriteLine("EVENT_TYPE<O01>")
tf.WriteLine("ORDER_CONTROL_ORC<SC>")
tf.WriteLine("PLACER_ORDER_NUMBER_ORC<30000001>")
tf.WriteLine("FILLER_ORDER_NUMBER_ORC<436762>")
tf.WriteLine("ORDER_STATUS_ORC<IP>")
tf.WriteLine("VERIFIED_BY_ORC<zhanghonghui>")
tf.WriteLine("VERIFIED_BY_ID_ORC<zhanghonghui>")
tf.WriteLine("PATIENT_ID<1000000001>")
tf.WriteLine("PATIENT_CLASS<I>")
tf.WriteLine("VISIT_NUMBER<2000000001>")
tf.WriteLine("PATIENT_NAME_I<观音菩萨>")
tf.WriteLine("PATIENT_NAME_S<guanyinpusha>")
tf.WriteLine(lr.eval_string("<order_number>"))
End Function
~~~~~~~~~~~~~~~~~~~~~
其中“order_number”为参数
应该注意的是要用“+”号与常量连接作者: hlw1013 时间: 2008-6-25 16:05 标题: 回复 2# 的帖子 应该是没办法通过界面录制的,要自己动手写脚本