2015-08-13 2 views
0

Итак, у меня есть суб, который копирует документы, хранящиеся в нашей интрасети, и сохраняет их на нашем общем диске. Теперь я хотел бы сделать то же самое, но с файлом, хранящимся локально на компьютере пользователя, а не в интрасети. Как я мог это сделать?VBA winhttp-эквивалент для локального файла

Sub intranetPullFile(link, extent, strFile)  
Set WinHttp = CreateObject("WinHttp.WinHttpRequest.5.1") 
If WinHttp Is Nothing Then Set WinHttp = CreateObject("WinHttp.WinHttpRequest") 
WinHttp.Open "GET", link , False 
WinHttp.Send 
arrResponse = WinHttp.ResponseBody 
Set WinHttp = Nothing 
Set oADO = CreateObject("ADODB.Stream") 
oADO.Type = 1 
oADO.Open 
oADO.Write arrResponse 
oADO.SaveToFile strFile, 2 
oADO.Close 
end sub 

Я попытался просто использовать это как их C: .... адрес является ссылкой на файл, но я получаю сообщение об ошибке: URL не использует признанный протокол.

Итак, я отметил ответ, потому что он получил то, что мне было нужно, СПАСИБО! --- все еще любопытно, есть ли «эквивалент локального файла» для того, как работает этот winhttp, но я могу двигаться дальше, так что хорошо. Еще раз спасибо.

+0

FileSystemObject: http://stackoverflow.com/search ? q = filesystemobject + vba –

+0

Я бы использовал FSO, но я хочу переименовать локальный документ на что-то еще, когда я вставляю его в общий диск. Поскольку у меня уже был этот суб, который позволил мне отправить другое имя для файла, который будет сохранен, поскольку я думал, что это будет лучший способ пойти. Я не верю, что .CopyFile FSO позволяет мне переименовывать, не так ли? – mrlemmer11

+0

http://stackoverflow.com/questions/18966991/how-can-i-use-the-filesystemobject-to-copy-and-rename –

ответ

0

Вы можете скопировать и указать новое имя с помощью CopyFile(). Она также может перезаписывать существующий файл, если вы передаете True как 3 пары:

With CreateObject("Scripting.FileSystemObject") 
    .CopyFile strSourceFile, strDestFile, True 
End With 
0

VBA может сделать это в одной строке без FSO:

FileCopy fullSourcePathandName, fullDestinationPathandName 
+0

Тип несоответствия: 'FileCopy' --- I cstr() 'd обе переменные и все еще имели несоответствующие ошибки. собираемся попробовать и жестко указать источник и места уничтожения, чтобы увидеть, является ли это проблемой переменной или самой файловой машиной. – mrlemmer11

Смежные вопросы