Vbscript &引用;“类型不匹配”;下载图像时

Vbscript &引用;“类型不匹配”;下载图像时,vbscript,type-mismatch,Vbscript,Type Mismatch,我正在创建一个程序,帮助我从天气网站下载图像,这样我就可以得到雷达图像。它创建一个名为“雷达”的文件,然后创建时间。例如,如果是下午5点,它将被命名为Radar500.png 下载工作正常,但它说我在某一行上有一个错误: Const adSaveCreateOverWrite = 2 Const adTypeBinary = 1 if hour(time) > 12 then a=hour(time)-12 else if hour(time) = 0 then

我正在创建一个程序,帮助我从天气网站下载图像,这样我就可以得到雷达图像。它创建一个名为“雷达”的文件,然后创建时间。例如,如果是下午5点,它将被命名为
Radar500.png

下载工作正常,但它说我在某一行上有一个错误:

Const adSaveCreateOverWrite = 2
Const adTypeBinary = 1
if hour(time) > 12 then
  a=hour(time)-12
else        
  if hour(time) = 0 then
    a="12"
  else
    a=hour(time)
    b=minute(time)
  end if
end if
b=minute(time)
strSource = ""
strDest = "C:\Users\Gabriel\Desktop\Overnight weather\radar"+a+"s"+b+".jpg"
WScript.Echo "path: "+strDest
'*****************************************************************
'** Download the image
strResult = GetImage(strSource, strDest)
If strResult = "OK" Then
  wscript.quit(0)
Else
  wscript.quit(1)
End If

Function GetImage(strPath, strDest)
  Dim objXMLHTTP, nF, arr, objFSO, objFile
  Dim objRec, objStream

  'create XMLHTTP component
  Set objXMLHTTP = CreateObject("Microsoft.XMLHTTP")

  'get the image specified by strPath
  objXMLHTTP.Open "GET", strPath, False
  objXMLHTTP.Send

  'check if retrieval was successful
  If objXMLHTTP.statusText = "OK" Then
    'create binary stream to write image output
    Set objStream = CreateObject("ADODB.Stream")
    objStream.Type = adTypeBinary
    objStream.Open
    objStream.Write objXMLHTTP.ResponseBody
    objStream.SavetoFile strDest, adSaveCreateOverwrite
    objStream.Close
    GetImage = "OK"
  Else
    GetImage = objXMLHTTP.statusText
  End If
End Function
他们说错误在第29行字符1处。

使用
strDest=“C:\Users\…\radar”&a&“s”&b&“.jpg”
。依照

尽管您也可以使用
+
运算符连接两个 字符串,您应该使用
&
运算符进行连接 消除歧义。当您使用
+
运算符时,您可能不会 能够确定是否将发生加法或字符串连接

表达式的类型决定了
+
操作员应按以下方式操作:

If                                                   Then
Both expressions are numeric                         Add
Both expressions are strings                         Concatenate
One expression is numeric and the other is a string  Error: type mismatch

您的脚本应适用于以下更改:

  • 分配一个有效的
    strSource
    值,例如
    strSource=”http://www.goes.noaa.gov/FULLDISK/GMIR.JPG“
  • objXMLHTTP.Open“GET”,strSource,False
    。注意
    strSource
    而不是
    strDest

您试过调试它吗?您应该能够更详细地了解错误是什么,而不仅仅是存在错误。这是什么类型的错误?如何调试。。。我是新来的。。对不起……哦!错误类型不匹配。您没有指定要从中下载的网站吗?