2017-04-20 47 views
0

我有一个代码,应该从互联网下载图像并将其设置为壁纸,但它一直说有错误数量的参数或无效的属性分配:SaveToFile错误800A1C2在我的代码

strUser = CreateObject("WScript.Network").UserName 
Dim xHttp: Set xHttp = CreateObject("Microsoft.XMLHTTP") 
Dim bStrm: Set bStrm = CreateObject("ADODB.Stream") 
xHttp.Open "GET", "https://image.spreadshirtmedia.com/image-server/v1/compositions/1009468864/views/1,width=300,height=300,version=145225706 1/anonymous-seal-t-shirts-men-s-tall-t-shirt.jpg", False 
xHttp.Send 

With bStrm 
    .Type = 1 '//binary 
    .Open 
    .Write xHttp.responseBody 
    .Savetofile "C:\Users\",strUser,"\downloads", 2 '//overwrite 
End With 

Dim wshShell 
Set wshShell = WScript.CreateObject("WScript.Shell") 
sUserName = wshShell.ExpandEnvironmentStrings("strUser") 

Set oShell = CreateObject("WScript.Shell") 
Set oFSO = CreateObject("Scripting.FileSystemObject") 

sWinDir = oFSO.GetSpecialFolder(0) 
sWallPaper = "C:\Users\eskonr\Pictures\Nice-Windows-7.jpg" 

' update in registry 
oShell.RegWrite "HKCU\Control Panel\Desktop\Wallpaper", sWallPaper 

' let the system know about the change 
oShell.Run "C:\WINDOWS\System32\RUNDLL32.EXE user32.dll,UpdatePerUserSystemParameters", 1, True 

MsgBox "done" 

回答

0
.SaveToFile "C:\Users\",strUser,"\downloads", 2 '//overwrite 

你试图调用.SaveToFile有4个参数:"C:\Users\"strUser"\downloads"2,当你显然想从最前面的三个元素构建的路径。使用连接运算符:

.SaveToFile "C:\Users\" & strUser & "\downloads", 2 '//overwrite