Форум программистов, компьютерный форум, киберфорум
Visual Basic
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
0 / 1 / 3
Регистрация: 18.10.2012
Сообщений: 662

Проверка наличие архива в папке

16.06.2017, 10:27. Показов 1535. Ответов 24
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Ребята подскажите где я. что не так делаю. не проверяет наличие архива в папке?:
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Dim RetVal
Dim othet As String 
'проверка наличие архива
 If Dir(rrr$) <> "" Then 'РУГАЕТСЯ НА ЭТУ СТРОКУ!!!
   MsgBox "архив существует!", 64, "СООБЩЕНИЕ!"
  Else
     MsgBox "архива нет!", 64, "СООБЩЕНИЕ!"
End If
 
othet = ("C:\Users\Public\Desktop\ОТЧЕТЫ")
ish$ = Chr(34) & othet & "\*.xlsx" & Chr(34) 
rrr$ = Chr(34) & App.Path & "\arhiv\Архив_отчет_.rar" & Chr(34) 
 
'архивация с установкой всех требуемых параметров архива
RetVal = Shell(App.Path & "\BD\rar.exe m -y -m5 -ep -agmm.YYYY " & rrr$ & " " & ish$, vbNormalFocus)
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
16.06.2017, 10:27
Ответы с готовыми решениями:

Проверить наличие файла в папке
Доброго вечера форумчане! подскажите что не правильно в моем коде, перестал работать, пытаюсь проверить наличие файла If Dir(App.Path...

Проверка массива на наличие определенного символа
Есть массив элементы которого слова. В ходе выполнения массив перебирается по порядку, нужно чтобы каждый элемент проверялся на наличие в...

Программа калькулятор. Проверка на наличие корней у числа.
Я порогу зделал виде &quot;калькулятора&quot; вопрос: мне нужно зделать так чтобы когда ответ равен 0 или меньше 0, чтобы вывадилась ошибка...

24
28 / 28 / 4
Регистрация: 07.06.2017
Сообщений: 166
16.06.2017, 10:32
Цитата Сообщение от ASSEI Посмотреть сообщение
If Dir(rrr$) <> "" Then
а rrr$ чему равно?

Добавлено через 1 минуту
Цитата Сообщение от ASSEI Посмотреть сообщение
rar.exe
Имхо, 7zip лучше (особенно в части лицензионной чистоты).
0
0 / 1 / 3
Регистрация: 18.10.2012
Сообщений: 662
16.06.2017, 10:33  [ТС]
Цитата Сообщение от vice4 Посмотреть сообщение
а rrr$ чему равно?
12 строка кода
0
28 / 28 / 4
Регистрация: 07.06.2017
Сообщений: 166
16.06.2017, 10:34
Цитата Сообщение от ASSEI Посмотреть сообщение
rrr$ = Chr(34) & App.Path & "\arhiv\Архив_отчет_.rar" & Chr(34)
Неверно. Надо вот так:

Visual Basic
1
rrr$ = App.Path & "\arhiv\Архив_отчет_.rar"
Добавлено через 45 секунд
Цитата Сообщение от ASSEI Посмотреть сообщение
Цитата Сообщение от vice4 Посмотреть сообщение
а rrr$ чему равно?
12 строка кода
Дык Вы сначала присвойте переменной значение, а потом используйте функцию Dir.
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Dim RetVal
Dim othet As String 
 
[B]rrr$ = App.Path & "\arhiv\Архив_отчет_.rar"[/B]
 
'проверка наличие архива
 If Dir(rrr$) <> "" Then
   MsgBox "архив существует!", 64, "СООБЩЕНИЕ!"
[B]   Exit Sub ??????????[/B]
  Else
     MsgBox "архива нет!", 64, "СООБЩЕНИЕ!"
End If
 
othet = ("C:\Users\Public\Desktop\ОТЧЕТЫ")
ish$ = Chr(34) & othet & "\*.xlsx" & Chr(34) 
 
'архивация с установкой всех требуемых параметров архива
RetVal = Shell(App.Path & "\BD\rar.exe m -y -m5 -ep -agmm.YYYY " & rrr$ & " " & ish$, vbNormalFocus)
0
0 / 1 / 3
Регистрация: 18.10.2012
Сообщений: 662
16.06.2017, 11:01  [ТС]
ОБЪЯВИЛ А СУТЬ НЕ ИЗМЕНИЛАСЬ!
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
Dim RetVal
Dim h$
othet = ("C:\Users\Public\Desktop\ОТЧЕТЫ")
ish$ = Chr(34) & othet & "\*.xlsx" & Chr(34) 
h$ = Chr(34) & App.Path & "\arhiv\Архив_отчет_.rar" & Chr(34)   
 
 If Dir(h) <> "" Then
   MsgBox "1!", 64, "СООБЩЕНИЕ!"
  Else
     MsgBox "2!", 64, "СООБЩЕНИЕ!"
End If
 
RetVal = Shell(App.Path & "\BD\rar.exe m -y -m5 -ep -agmm.YYYY " & h$ & " " & ish$, vbNormalFocus)
0
28 / 28 / 4
Регистрация: 07.06.2017
Сообщений: 166
16.06.2017, 11:11
Цитата Сообщение от ASSEI Посмотреть сообщение
h$ = Chr(34) & App.Path & "\arhiv\Архив_отчет_.rar" & Chr(34)
Я же писал - уберите в начале и конце кавычки.

Visual Basic
1
App.Path & "\arhiv\Архив_отчет_.rar"
PS Архивация у Вас идет в любом случае. Некрасиво.
0
0 / 1 / 3
Регистрация: 18.10.2012
Сообщений: 662
16.06.2017, 11:16  [ТС]
вы правы архивация идет только, вот сам архив не видит папки куда архивировать, я уже убирал кавычки пробовал, кавычки ставлю архив в папке появляется
0
28 / 28 / 4
Регистрация: 07.06.2017
Сообщений: 166
16.06.2017, 11:20
msgbox h$ что выдает?
0
0 / 1 / 3
Регистрация: 18.10.2012
Сообщений: 662
16.06.2017, 11:22  [ТС]
архива нет, да же если он есть
0
28 / 28 / 4
Регистрация: 07.06.2017
Сообщений: 166
16.06.2017, 11:24
Цитата Сообщение от vice4 Посмотреть сообщение
msgbox h$ что выдает?
Цитата Сообщение от ASSEI Посмотреть сообщение
архива нет, да же если он есть
Неверный ответ. msgbox h$ должен выдать путь.
Скрин можете приложить?
0
0 / 1 / 3
Регистрация: 18.10.2012
Сообщений: 662
16.06.2017, 11:28  [ТС]
вот
Изображения
 
0
28 / 28 / 4
Регистрация: 07.06.2017
Сообщений: 166
16.06.2017, 11:31
В Вашем коде в 6-й строке (перед проверкой на наличие файла) добавьте - msgbox h$
Что выдается? Какой путь?
0
0 / 1 / 3
Регистрация: 18.10.2012
Сообщений: 662
16.06.2017, 11:38  [ТС]
выдал пусто!
Изображения
 
0
28 / 28 / 4
Регистрация: 07.06.2017
Сообщений: 166
16.06.2017, 11:53
Visual Basic
1
2
3
4
5
If Dir(App.Path & "\arhiv\Архив_отчет_.rar") <> "" Then
   MsgBox "1!", 64, "СООБЩЕНИЕ!"
  Else
     MsgBox "2!", 64, "СООБЩЕНИЕ!"
End I
Если так поправить строку 7. Отрабатывает код верно?
0
0 / 1 / 3
Регистрация: 18.10.2012
Сообщений: 662
16.06.2017, 12:06  [ТС]
все равно пишет архива нет , а он в папке существует, единственное что я подумал архив то создается с датой! может указать в пути + дату

Добавлено через 3 минуты
имя архива в таком формате : Архив_отчет_06.2017

Добавлено через 2 минуты
вот теперь проверяет! все получилось!
Visual Basic
1
 If Dir(App.Path & "\arhiv\Архив_отчет_" & Format(Date, "mm.YYYY"".rar")) <> "" Then
0
28 / 28 / 4
Регистрация: 07.06.2017
Сообщений: 166
16.06.2017, 12:07
Еще раз.

Visual Basic
1
2
3
4
5
If Dir(App.Path & "\arhiv\Архив_отчет_.rar") <> "" Then
   MsgBox "1!", 64, "СООБЩЕНИЕ!"
  Else
     MsgBox "2!", 64, "СООБЩЕНИЕ!"
End If
Что выдает? 1 или 2?
0
28 / 28 / 4
Регистрация: 07.06.2017
Сообщений: 166
16.06.2017, 12:07
Еще раз.

Visual Basic
1
2
3
4
5
If Dir(App.Path & "\arhiv\Архив_отчет_.rar") <> "" Then
   MsgBox "1!", 64, "СООБЩЕНИЕ!"
  Else
     MsgBox "2!", 64, "СООБЩЕНИЕ!"
End If
Что выдает? 1 или 2?
0
0 / 1 / 3
Регистрация: 18.10.2012
Сообщений: 662
16.06.2017, 12:08  [ТС]
СПАСИБО ВСЕМ ЗА ОТВЕТЫ И ПОМОЩЬ!
0
28 / 28 / 4
Регистрация: 07.06.2017
Сообщений: 166
16.06.2017, 12:10
Visual Basic
1
othet = ("C:\Users\Public\Desktop\ОТЧЕТЫ")
Скобки зачем?

Вы понимаете? чем отличается h=app.path и h="app.path"?

Добавлено через 15 секунд
Visual Basic
1
othet = ("C:\Users\Public\Desktop\ОТЧЕТЫ")
Скобки зачем?

Вы понимаете? чем отличается h=app.path и h="app.path"?
0
0 / 1 / 3
Регистрация: 18.10.2012
Сообщений: 662
16.06.2017, 12:17  [ТС]
я проверял выдает все правильно, как положе (если архив есть то существует, если нет архива то "архива нет") :
Visual Basic
1
2
3
4
5
 If Dir(App.Path & "\arhiv\Архив_отчет_" & Format(Date, "mm.YYYY"".rar")) <> "" Then
    MsgBox "Архив с отчетами существует!", 64, "СООБЩЕНИЕ!"
   Else
     MsgBox "архива нет!", 64, "СООБЩЕНИЕ!"
End If
Добавлено через 15 секунд
я проверял выдает все правильно, как положе (если архив есть то существует, если нет архива то "архива нет") :
Visual Basic
1
2
3
4
5
 If Dir(App.Path & "\arhiv\Архив_отчет_" & Format(Date, "mm.YYYY"".rar")) <> "" Then
    MsgBox "Архив с отчетами существует!", 64, "СООБЩЕНИЕ!"
   Else
     MsgBox "архива нет!", 64, "СООБЩЕНИЕ!"
End If
Добавлено через 3 минуты
если поясните буду благодарен, но я проверял без скобок не работает путь, а проверка работала некоректно не видела архив думаю из-за даты в пути

Добавлено через 1 минуту
да и сама программа выдает ошибку если скобки убираю

Добавлено через 1 минуту
простите "скобки" с "кавычками" перепутал, убрал "скобки" ничего не изменилось
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
16.06.2017, 12:17
Помогаю со студенческими работами здесь

Проверка наличия доступа к папке (по сети)
Добрый вечер. Два вопроса такого плана: 1. как узнать существует сетевая папка или нет? 2. как вызвать окно аутентификации для...

Создание блокнота - проверка на наличие изменен ли файл или нет
Ребята, кто может, помогите пожалуйста. Например, если я что-то записываю в текстовое поле блокнота, то при закрытии просит о...

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

Как проверить наличие архива
Как проверить наличие архива в директории с помощью перла ?ОС - freeBsd.

Проверить наличие музыкальных файлов в папке
Нужно, имея путь к папке, проверить, есть ли там музыка, конкретно мр3. Проверить наличие конкретного файла несложно: way =...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: 1. Реализовать контроль заполнения реквизита. . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru