ActiveX应用:与Excel数据交互
前面介绍过DDE与Excel的数据交互功能,利用ActiveX也可实现相同的功能。同时ActiveX的功能更加强大,可以利用ActiveX在模型中插入视频、网页等多媒体元素。
效果展示:
统计模型Buffer中MU数量随时间的变化,在Excel中动态生成Buffer容量的折线图。
建模过程:
搭建方式:
软件版本为13.1,模型搭建方式如视频中所示,Source产生频率为5分钟,SingleProc的加工时间为0到10分钟的均匀分布随机数。
导入ActiveX模块,将ActiveX的”class name”设为”excel.application”,将需要使用的Excel表格拖拽进模型中。
函数说明:
模型中共有三个Method,分别是 init, reset, Stat。运用SimTalk 2.0编写。
init:负责初始化模型,激活ActiveX,连接并打开Excel。程序如下:
activex.active := true
var xl := activex.application
xl.workbooks.open(FileLink.filename)
xl.visible := true
reset:负责重置模型,断开连接,保存并关闭Excel。程序如下:
if activeX.active
var xl := activex.application
var RowNo:=xl.worksheets(“Sheet1”).UsedRange.Rows.Count
xl.worksheets(“Sheet1”).Range(sprint(“A2:A”,RowNo)).Clear
xl.activeworkbook.save
xl.quit
activex.active := false
end
Stat:负责统计数据,并将数据写入到Excel中。程序如下:
var xl := activeX.application
var RowNo:=xl.worksheets(“Sheet1”).UsedRange.Rows.Count+1
xl.worksheets(“Sheet1”).Cells(RowNo,1).value:=?.NumMu
if RowNo=1000
eventController.stop
end
模型文件:ActiveXToExcel
您好,能麻烦提供模型吗?非常感谢!!
已上传