以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  高级功能研发区  (http://weistock.com/bbs/list.asp?boardid=5)
----  vbs脚本运行时报错  (http://weistock.com/bbs/dispbbs.asp?boardid=5&id=77255)

--  作者:qq代人发帖
--  发布时间:2015/4/3 16:17:47
--  vbs脚本运行时报错


图片点击可在新窗口打开查看此主题相关图片如下:qq图片20150403161703.png
图片点击可在新窗口打开查看
你好,如图:

在运行 vbs脚本的时候报错, 前几天还是 好好的,今天不知道为什么就这样了


--  作者:wangwatercup
--  发布时间:2015/4/3 16:22:57
--  
补充一下:
问题出在倒数第5行:
上下文如下:

  \'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'         
            NameFolder= year(date)*10000+month(date)*100+day(date)
  \'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'
            outputf = "e:\\dataTickCmmdt\\"&NameFolder&"\\"&marketName(j)& "\\"&prefixStockNameCur&"\\"
            Set fso = CreateObject("scripting.filesystemobject")
               create fso, outputf
            set fso = Nothing
            If suffixStockNameCur>="00" And suffixStockNameCur<="99" And reportData.Volume>0 Then     \'最好在收盘之后运行,否则成交量未必有           
                myTickCmmdt reportData.label,marketName(j),outputf
            End If
        Next    
    Next

--  作者:wangwatercup
--  发布时间:2015/4/3 16:23:32
--  
完整的代码:

sub myGetTickCmmdt()
\'this is the orignal one, wrting FUTURES ticks data.
    Dim marketName
    marketName=Array("SQ","DQ","ZQ","ZJ")                         \'指定的期货市场,可以添加删除
     msgbox "h1"   
    dim fso, outputf
       
    For j=0 To UBound(marketName)
        n=marketData.GetReportCount(marketName(j))               
        For i=0 To n-1
            Set reportData=marketdata.GetReportDataByIndex(marketName(j),i)       \'遍历指定市场的合约
           
            select case len(reportData.label)
                case 4
                    prefixStockNameCur=left(reportData.label,2)
                case 3
                    prefixStockNameCur=left(reportData.label,1)
                case 5
                    prefixStockNameCur=left(reportData.label,3)
            end select           
            suffixStockNameCur=right(reportData.label,2)
  \'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'         
            NameFolder= year(date)*10000+month(date)*100+day(date)
  \'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'
            outputf = "e:\\dataTickCmmdt\\"&NameFolder&"\\"&marketName(j)& "\\"&prefixStockNameCur&"\\"
            Set fso = CreateObject("scripting.filesystemobject")
               create fso, outputf
            set fso = Nothing
            If suffixStockNameCur>="00" And suffixStockNameCur<="99" And reportData.Volume>0 Then     \'最好在收盘之后运行,否则成交量未必有           
                myTickCmmdt reportData.label,marketName(j),outputf
            End If
        Next    
    Next

end sub


--  作者:王锋
--  发布时间:2015/4/3 22:30:09
--  
从报错内容来看是在创建对象的时候,你试试重启金字塔问题能否得到解决?
--  作者:pel46585
--  发布时间:2015/4/8 17:04:19
--  
create fso, outputf
这是啥东西,你应该还有create的函数吧?

--  作者:wangwatercup
--  发布时间:2015/4/10 14:28:01
--  
 这个create是金字塔内部的函数,具体不记得了大概是3年前写的代码,现在已经不记得是什么意思了,但是大概是说为了写文件创造的对象吧。
--  作者:wangwatercup
--  发布时间:2015/4/10 14:30:44
--  
以下是引用王锋在2015/4/3 22:30:09的发言:
从报错内容来看是在创建对象的时候,你试试重启金字塔问题能否得到解决?


还是不行。事情是这样的:
1)这个代码原来运行好好的,每天保存所有品种的tick数据;
2)某日发疯,装了visual studio community社区版,结果就变成这个模杨了。
3)您看怎么办?


--  作者:王锋
--  发布时间:2015/4/10 18:07:55
--  

重装金字塔也不能解决吗?

此外金字塔的安装目录下有个scd10en.exe文件,是vbs脚本引擎的安装包,你重装一遍然后重启操作系统后再试试