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

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

16.06.2017, 10:27. Показов 1482. Ответов 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
Ответ Создать тему
Новые блоги и статьи
сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и источниками (напряжения, ЭДС и тока). Найти токи и напряжения во всех элементах. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru