A:
天软提供了插件及VBA两种方式来实现Excel调用天软;插件方式由于每个单元格都需要和天软进行一次交互,速率较慢,这里建议用户使用VBA的模式,同MATLAB调用天软,基本模式是相同的,只需要用户修改函数名及参数的个数即可,相关案例可参考附件。
附件:天软科技-如何在VBA调用天软模型(范例).xls
代码解释如下:
Private Sub CommandButton1_Click()
'初始化ts对象
Dim Obj As Object
Set Obj = CreateObject("TSExpert.CoExec")
'设置函数的参数信息
Dim Args(0 To 3) As Variant
Args(0) = Worksheets("VBA获取数据").Range("A2")
Args(1) = Worksheets("VBA获取数据").Range("B2")
Args(2) = Worksheets("VBA获取数据").Range("C2")
Args(3) = Worksheets("VBA获取数据").Range("D2")
'调用天软的函数,并将数据放到Excel对应的位置
v = Obj.RemoteCallFunc("stocks_zf", Args)
Call ClearOldData("VBA获取数据", "A5:Z2000")
sR = GetTableRange("VBA获取数据", 5, 1, v)
Worksheets("VBA获取数据").Range(sR) = v
End Sub
'获得数据的区域
Public Function GetTableRange(SheetName, FromRow, FromCol, Data)
RowCount = UBound(Data, 1) + 1
ColCount = UBound(Data, 2) + 1
Set MC = Worksheets(SheetName).Cells(FromRow, FromCol)
Set EC = Worksheets(SheetName).Cells(FromRow + RowCount - 1, FromCol + ColCount - 1)
sR = MC.Address() + ":" + EC.Address()
GetTableRange = sR
End Function
'清除原数据
Public Sub ClearOldData(SheetName, sR)
Worksheets(SheetName).Range(sR) = ""
End Sub