Всем добрый день! Имеется вот такой рабочий (до некоторых пор) код:
[vba]
Код
hINetSession = InternetOpen("MyFTPClient", 0, vbNullString, vbNullString, 0) hSession = InternetConnect(hINetSession, "ccpds002", "21", "***", "***", 1, &H8000000, 0) If hSession = 0 Then MsgBox ("Ошибка подключения к ccpds002") Exit Sub End If
If FtpGetFile(hSession, "/opt/avaya/pds/lists/" & InboundNumber & "tran.stat", "L:\UVPZ\Архив\LevelService\" & InboundNumber & "tran.stat", False, 0, FTP_TRANSFER_TYPE_BINARY, 0) = False Then Call InternetCloseHandle(hSession) Call InternetCloseHandle(hINetSession) MsgBox ("Загрузить " & InboundNumber & "tran.stat не удалось") Exit Sub End If
[/vba]
Файл с ФТП (доступ к которому в Passive mode) качается неоднократно за день (данные в файле постоянно обновляются).
С некоторых пор у нас обновился IE до 11 версии и теперь при вызове макроса файл кэшируется в Temporary Internet Files, при последующих попытках скачивания файл берется не с ФТП, а из кэша.
До установки IE11 все работало как часы - файл каждый раз грузился свежий. Код не менялся.
Вопрос к знающим людям - как можно элегантно решить проблему кэширования? Чтобы каждый раз забирался свежий файл с ФТП.
Попытки использовать INTERNET_FLAG_RELOAD не принесли успехов, выходит ошибка скачивания.
На данный момент умнее чем это я не придумал:
[vba]
Код
Shell "cmd.exe /c del /f /s /q ""%USERPROFILE%\AppData\Local\Microsoft\Windows\Temporary Internet Files\*.*""", vbNormalFocus
[/vba]
Всем добрый день! Имеется вот такой рабочий (до некоторых пор) код:
[vba]
Код
hINetSession = InternetOpen("MyFTPClient", 0, vbNullString, vbNullString, 0) hSession = InternetConnect(hINetSession, "ccpds002", "21", "***", "***", 1, &H8000000, 0) If hSession = 0 Then MsgBox ("Ошибка подключения к ccpds002") Exit Sub End If
If FtpGetFile(hSession, "/opt/avaya/pds/lists/" & InboundNumber & "tran.stat", "L:\UVPZ\Архив\LevelService\" & InboundNumber & "tran.stat", False, 0, FTP_TRANSFER_TYPE_BINARY, 0) = False Then Call InternetCloseHandle(hSession) Call InternetCloseHandle(hINetSession) MsgBox ("Загрузить " & InboundNumber & "tran.stat не удалось") Exit Sub End If
[/vba]
Файл с ФТП (доступ к которому в Passive mode) качается неоднократно за день (данные в файле постоянно обновляются).
С некоторых пор у нас обновился IE до 11 версии и теперь при вызове макроса файл кэшируется в Temporary Internet Files, при последующих попытках скачивания файл берется не с ФТП, а из кэша.
До установки IE11 все работало как часы - файл каждый раз грузился свежий. Код не менялся.
Вопрос к знающим людям - как можно элегантно решить проблему кэширования? Чтобы каждый раз забирался свежий файл с ФТП.
Попытки использовать INTERNET_FLAG_RELOAD не принесли успехов, выходит ошибка скачивания.
На данный момент умнее чем это я не придумал:
[vba]
Код
Shell "cmd.exe /c del /f /s /q ""%USERPROFILE%\AppData\Local\Microsoft\Windows\Temporary Internet Files\*.*""", vbNormalFocus