前面介绍过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

 

2 对 “ActiveX应用:与Excel数据交互”的想法;

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注