2016-10-14 3 views
0

В моей excel книге я использую VBA скрипт, который вызывает URLDownloadToFile, чтобы загрузить другой excel файл, хранящийся в sharePoint к текущей папке книги. Моя проблема заключается в том, что загруженная книга не является последней версией/канонической версией. Ссылка, которую я использовал как параметр для URLDownloadToFile, - это ссылка, которая ссылается непосредственно на файл, а не на конкретную ревизию с _vti_history.VBA Sharepoint скачать не каноническая редакция

Я пробовал обновлять файл на sharePoint несколько раз, чтобы протестировать его, но тот же самый старый вариант был загружен каждый раз.

Может ли кто-нибудь помочь мне в решении проблемы?

Edit: Для того, чтобы прояснить этот вопрос у меня есть, что я называю эту функцию в качестве
URLDownloadToFile(0, "http://blahblah/file.ext", "C:\blah\file.ext", 0, 0)
Локальная копия сохранены не последняя версия file.ext но более старый.

+0

Добро пожаловать в StackOverflow. Обратите внимание, что это не бесплатный сервис написания кода, но мы готовы помочь другим программистам (и претендентам) написать собственный код. Пожалуйста, прочитайте разделы справки на странице [Как задать хороший вопрос] (http://stackoverflow.com/help/how-to-ask "How To"). Вы также можете принять [Tour] (http://stackoverflow.com/tour «Волшебный тайный тур») и заработать значок при этом. Впоследствии, пожалуйста, обновите свой вопрос кодом VBA, который вы написали до сих пор, чтобы выполнить задачу (задачи), которую вы хотите достичь. –

+0

Посмотрите на этот ответ. http://stackoverflow.com/questions/26186279/urldownloadtofile-in-access-2010-sub-or-function-not-defined –

ответ

0

Если URL-адрес используется для загрузки самой новой версии, возможно, что кешированная версия загружается URLDownloadToFile.

Попробуйте очистить кэш для связи перед загрузкой с помощью DeleteUrlCacheEntry:

Private Declare Function URLDownloadToFile Lib "urlmon" Alias "URLDownloadToFileA" (ByVal pCaller As Long, ByVal szURL As String, ByVal szFileName As String, ByVal dwReserved As Long, ByVal lpfnCB As Long) As Long 
Private Declare Function DeleteUrlCacheEntry Lib "Wininet.dll" Alias "DeleteUrlCacheEntryA" (ByVal lpszUrlName As String) As Long 
Sub downloadFile() 
    Call DeleteUrlCacheEntry("http://blahblah/file.ext") 
    Call URLDownloadToFile(0, "http://blahblah/file.ext", "C:\blah\file.ext", 0, 0) 
End Sub 
+0

Так оно и было, большое спасибо! Мне это не было. – Ludicus

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