Гость
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Разархивация. Не обнаружен архив / 4 сообщений из 4, страница 1 из 1
13.11.2015, 15:42
    #39103035
Sotrudnik_1990
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разархивация. Не обнаружен архив
Доброго времени суток.

Столкнулся со следующей проблемой - написал макрос скачивающий файлы с портала. Однако при запуске выходит сообщение, что архивы не обнаружены. Пробовал сохранить получившуюся строку на листе и использовать ее как гирерссылку - все работает.

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
Const STRROOT As String = "C:\report\FILEs\"


    URL = "http://report/20151115/Отчет_20151115.rar"
CSHEET.Cells(15, 2) = URL

  If RARTOFILE(STRROOT, URL) = 0 Then
        Exit Sub
    End If




также пробовал подставлять адрес с ПК - все работает.


Архиватор

Код: vbnet
1.
2.
3.
4.
5.
Function RARTOFILE(sFileName As String, ByVal sArhiveName As String)
    Dim sWinRarApp As String
    sWinRarApp = sWinRarAppPath & " e -o+"
    RARTOFILE = Shell(sWinRarApp & " """ & sArhiveName & """ """ & sFileName & """ ", vbHide)
End Function
...
Рейтинг: 0 / 0
13.11.2015, 16:59
    #39103122
Казанский
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разархивация. Не обнаружен архив
Sotrudnik_1990, поставьте точку останова на предпоследней строке функции. Когда останов произойдет, вычислите в окне Immediate строку команды:
Код: vbnet
1.
?sWinRarApp & " """ & sArhiveName & """ """ & sFileName & """ "

Перенесите результат в окно консоли - сработает команда?
...
Рейтинг: 0 / 0
13.11.2015, 17:24
    #39103145
Sotrudnik_1990
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разархивация. Не обнаружен архив
Спасибо за ваш совет.

Однако я параллельно решил сначала сохранить файл на локалку, а затем распаковать. все отлично сработало. Думаю на этом и остановлюсь.
...
Рейтинг: 0 / 0
24.11.2015, 15:42
    #39112302
Sotrudnik_1990
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разархивация. Не обнаружен архив
Извиняюсь за повторное обращение, но появилась проблема с обнаружением файла.

В кратце это выглядит следующим образом.

каждую неделю создается папка в локальной сети с отчетами. Я проверял наличие папки следующим скриптом:

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
Function CheckAddr(straddr As String) As Long
 On Error Resume Next
    With CreateObject("MSXML2.XMLHTTP")
        .Open "GET", straddr, False
        .send
        If Err.Number = 0 Then
            CheckAddr = .Status
        End If
    End With
End Function



Если он выдавал код 403 значит папка существует и я забираю из нее файл, добавив имя файла к соответствующей строке. Однако на практике оказалось , что некоторые отчеты могут иметь пропуски в подготовке и необходимо брать предыдущий. Соответственно вернулась необходимость проверки не папки, а файла. Подскажите как возможно изменить код, чтобы проверялось наличие файла?
...
Рейтинг: 0 / 0
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Разархивация. Не обнаружен архив / 4 сообщений из 4, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]