ITPUB??ì3
ITPUB论坛 » Rational » CQ功能实现错误

标题: [Rational] CQ功能实现错误
离线 誓言的毁灭
初级会员



精华贴数 0
个人空间 0
技术积分 40 (33097)
社区积分 0 (1501097)
注册日期 2007-8-6
论坛徽章:0
      
      

发表于 2008-2-3 15:46 
CQ功能实现错误

用CQ实现一个功能,从FTP 上下载文件,然后去除不需要的文件后打包再放回FTP
调用了http://www.chilkatsoft.com/downloads.asp的Chilkat's (Free) FTP ActiveX插件。
然后写了代码:
        Const OREMOTE = "banben\"                                                                                        ' 首先定义ftp的目录和帐号密码以及地址
        Const USERNAME = "***"
        Const PASSWORD = "***"
        Const HOSTNAME = "**"
       
        Dim session
        Dim fso
        Dim ftp
        Dim oID
        Dim oFileName
        Dim kehu
        Dim banbenhao
       
        Const local = "C:\"
        Set fso = CreateObject("Scripting.FileSystemObject")
        Set ftp = CreateObject("ChilkatFTP.ChilkatFTP")
       
        '        If Not fso.FolderExists("C:\")
        '        Then fso.CreateFolder("C:\")
        '        End If
       
        ftp.Username = USERNAME
        ftp.Password = PASSWORD
        ftp.Hostname = HOSTNAME
        OK = ftp.Connect                                                                                                        ' 链接ftp
       
        ftp.ChangeRemoteDir OREMOTE                                                                                        ' 开始进入ftp的制定目录。
       
        oID = GetfieldValue("project").GetValue                                                                ' 这里的字段本来应该是取cq里面的某个字段的值,由于在外部调试就直接赋值了
        ftp.CreateRemoteDir oID                                                                                                ' 如果需要新建就用这句,如果是已有的目录来变更当前路的话就用下句
        ftp.ChangeRemoteDir oID
       
        kehu = GetfieldValue("kehudaihao").GetValue
        ftp.CreateRemoteDir kehu
        ftp.ChangeRemoteDir kehu
       
        banbenhao = GetfieldValue("banben").GetValue
        ftp.CreateRemoteDir banbenhao
        ftp.ChangeRemoteDir banbenhao
       
        king = ftp.MGetFiles("*.*", local)                                                                        ' 用mgetfiles来获得ftp指定目录中的所有文件,copy到上面定义的目录中
        ftp.Disconnect
        fso.DeleteFile local & "*.html"                                                                                ' 删除html文件,主要是软件版本报告
        fso.DeleteFile local & "*.xls"                                                                                ' 删除excle文件,主要是测试报告
        fso.DeleteFile local & "*.doc"                                                                                ' 删除word文件,主要是软件版本说明书
        fso.DeleteFile local & "*.rar"                                                                                ' 删除以前压缩的文件
        fso.DeleteFile local & "*cs_*.txt"                                                                        ' 删除config spec纪录文件
       
        Dim Rarexe                                                                                                                        ' WinRar执行文件地址
        Dim Source                                                                                                                        ' 压缩前原始文件
        Dim Target                                                                                                                        ' 压缩后目标文件
        Dim FileString                                                                                                                ' Shell指令中的字符串
        Dim Shell
        Dim RetCode
       
        Rarexe="C:\WinRAR.exe"                                                                                                ' 这里调用winrar。注意文件的存在性
        Source="C:\*PCB01*.bin c:\BPLGUInfoCustom* c:\scat*.txt"                        ' 压缩文件原始位置
        Target="C:\"&banbenhao&""                                                                                ' 压缩文件目标位置
        FileString = Rarexe & " m " & " -m5 " & Target & " " & Source                ' 这里开始压缩打包,m是删除文件压缩,-m5是最好的压缩方式
        Set Shell = CreateObject("WScript.Shell")
        RetCode = Shell.Run(FileString,1, True)

         ftp.Username = USERNAME
         ftp.Password = PASSWORD
         ftp.Hostname = HOSTNAME
     OK = ftp.Connect
         
         ftp.ChangeRemoteDir OREMOTE
         oID = GetfieldValue("project").GetValue
         ftp.CreateRemoteDir oID
         ftp.ChangeRemoteDir oID
         kehu = GetfieldValue("kehudaihao").GetValue
         ftp.CreateRemoteDir kehu
         ftp.ChangeRemoteDir kehu
         banbenhao = GetfieldValue("banben").GetValue
         ftp.CreateRemoteDir banbenhao
         ftp.ChangeRemoteDir banbenhao
         oFileName = fso.Getfile ("C:\"&banbenhao&".rar")
         oAttachment.Load oFileName
         fso.CopyFile oAttachment.FileName, OTEMP
         OK = ftp.PutFile(oFileName, fso.GetFileName(oFileName))
         
         ftp.Disconnect
  
     Set oAttachments = Nothing
         Set oAttachField = Nothing
         Set oAttachFields = Nothing
     Set ftp = Nothing
     Set fso = Nothing
     Set session = Nothing


运行发现,打包前的任务全部执行了,但没执行打包过程,同时报错:


调试了很久,却一直没解决
不知道问题出在哪里,请高人帮忙!




誓言的毁灭 上传了这个附件:
2008-2-3 15:46
未命名.JPG (14.43 KB)
 

只看该作者    顶部
 
    

相关内容


CopyRight 1999-2006 itpub.net All Right Reserved.
北京皓辰广域网络信息技术有限公司. 版权所有
E-mail:Webmaster@itpub.net
京ICP证:010037号 联系我们 法律顾问