Итак, у меня есть суб, который копирует документы, хранящиеся в нашей интрасети, и сохраняет их на нашем общем диске. Теперь я хотел бы сделать то же самое, но с файлом, хранящимся локально на компьютере пользователя, а не в интрасети. Как я мог это сделать?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, но я могу двигаться дальше, так что хорошо. Еще раз спасибо.
FileSystemObject: http://stackoverflow.com/search ? q = filesystemobject + vba –
Я бы использовал FSO, но я хочу переименовать локальный документ на что-то еще, когда я вставляю его в общий диск. Поскольку у меня уже был этот суб, который позволил мне отправить другое имя для файла, который будет сохранен, поскольку я думал, что это будет лучший способ пойти. Я не верю, что .CopyFile FSO позволяет мне переименовывать, не так ли? – mrlemmer11
http://stackoverflow.com/questions/18966991/how-can-i-use-the-filesystemobject-to-copy-and-rename –