南客老师:昨晚引入老师发来的新公式后一切很正常,今早集合竞价也正常,等到正式开盘就出现了"执行VBS出现错误",正常行情也不能接收,不知为何?我把路径修改后的公式式一源码贴上请老师给予帮助.谢谢!
这是"个股体检数据"公式. 注: "主力仓位"正常!
复制内容到剪贴板
代码:
input:n(0,0,1);
fc:0;
fy:=year; fm:=month; fd:=day;
gpdm:=stklabel;
<%
gpdm=ffl.vardata("gpdm")
vc=ffl.vardata("fc")
vy=ffl.vardata("fy")
vm=ffl.vardata("fm")
vd=ffl.vardata("fd")
n=ffl.vardata("n")
last=ubound(vc)
Dim Conn, Rs, Driver, DBPath
if n=0 then
TableName="Sheet1"
else
TableName="各股体验数据"
end if
'On Error Resume Next
Set Conn = CreateObject("ADODB.Connection")
Driver = "Driver={Microsoft Excel Driver (*.xls)};"
DBPath = "DBQ=f:\FoxTrader_V3\各股体验数据.xls"
Conn.Open Driver & "ReadOnly=0;" & DBPath
Set Rs = CreateObject("ADODB.Recordset")
SQL=("SELECT * FROM [Sheet1$] where 名称 Like '%" & gpdm & "%'")
Rs.Open SQL, Conn, 3, 2
if Err.Number <> 0 or Rs.Recordcount=0 then
'msgbox "数据不存在"
else
j=1
for i=0 to last
vdate1=DateSerial(vy(i),vm(i),vd(i))
vdate2=Cdate(mid(rs(j).name,2,len(rs(j).name)-1))
while vdate1>vdate2
j=j+1
vdate2=Cdate(mid(rs(j).name,2,len(rs(j).name)-1))
if j>rs.fields.count-1 then Exit for
wend
if vdate1=vdate2 then
vc(i)=Rs(j).Value
j=j+1
if j>rs.fields.count-1 then Exit for
end if
next
end if
ffl.vardata("fc")=vc
%>
STICKLINE(fc>0,0,fc,5,1),colorred;
STICKLINE(fc<0,0,fc,5,1),colorgreen;