Страницы: 1
RSS
Макрос копирование файла с заменой, Не могу указать имя файла для копирования
 
Здравствуйте.

Подскажите, пожалуйста почему не считывается заданное имя файл fileR. Как видно из локального окна информации имя файла не определилось.
Суть макроса по дате выбрать необходимый файл, скопировать с заменой в нужную папку, разархивировать и произвести необходимые манипуляции с содержимым.
Код
Global ddate As Date
Global sDay As String
Global sDay2 As String
Global sMonth As String
Global sYear2 As String
Global sDayMonth As String
Global sYear2Month2 As String

Sub unzip_pr()
'Reading date value
    ddate = Rdate + 1
'Setting date variables
    sDay = Format(ddate, "dd")
    sMonth = Format(ddate, "mm")
    sYear2 = Format(ddate, "yyyy")
' Setting vaiables
    sYear2Month2 = sYear2 + "_" + sMonth
    sYear3Month3 = sYear2Month2 + "_" + sDay
    fileR = CStr(mcr_path() + sYear3Month3 + "\" + sYear3Month3 + ".zip")
    fileRR = fileR
    sourceT = CStr(temp_dir & "\Grand.zip")
    FileCopy CStr(mcr_path() + "\" + sYear3Month3 + "\" + fileRR), sourceT
    
    ' Batch
         Shell "C:\Program Files\7-Zip\7z.exe e U:\DPT-GL\AUDITOR\CORRECTIONS\Grand\Grand.zip -y -o" & temp_dir & """"
 
Потому что там нет такого файла. См.вложение :)
Изменено: Hugo - 04.04.2018 18:00:05
 
Как нет ,вот они  
 
Функция Dir возвращает имя файла по указанному пути, если файл существует. Если файла нет - функция возвращает пустую строку. Делайте выводы. Слова вроде "да он там точно есть!" неуместны, т.к. его там точно нет. проверяйте все до каждого отдельного символа. Либо в пути либо в имени файла что-то не совпадает.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
Почему вроде, файлы в папке с соответствующим названием
 
С расширением файла могут быть проблемы?
 
"mcr_path()" - что такое, это выглядит как динамический массив, где декларация и ввод элементов этого массива ?
Аналогично "temp_dir", откуда он получает данные ?
 
Цитата
RADLE написал:
вот они  
Где? У Вас папка с тире, а в коде Вы нижнее подчеркивание используете.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
Это заданы пути к файлу. Заменил нижние подчеркивания на тире, все равно не видит.  
 
RADLE, делайте по шагам
1. в момент прерывания (как на картинке выше) скопируйте в буфер то, что передаете в Dir, начиная с CStr...и заканчивая ...zip")
2. нажмите CTRL+G. В активное окно введите ? и скопируйте буфер - Ctrl+V
3. Enter
4. Изучите результат
5. Если озарения не произойдёт, скопируйте этот результат сюда.
6. А с картинками - это Вам на форум фотошопа или сразу к Марату Башарову.
ЗЫ: CStr в той строке явно ни к чему
Цитата
"mcr_path()" - что такое
Вы так и не ответили.
Изменено: Апострофф - 05.04.2018 10:50:19
 
Цитата
RADLE написал:
все равно не видит
см сообщение 4 от 4 Апр 2018 18:06:27.
И далее тоже - мы не знаем что у Вас там за переменные, что в них попадает. Ваши скрины вообще ничего не говорят и понимания не прибавляют.
Одно могу сказать точно: 100% либо путь неверный, либо имя файла искомого. Других вариантов просто нет.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
А почему две папки "2018-04-02"? На скрине одна. Да и вообще - надоело уже по Вашим скринам гадать. Вам знакомы элементарные азы отладки кода? Пробовали просто тупо взять и скопировать путь к папке, добавить к ней имя файла из этой же папки и по нему Dir попробовать?
Иногда помогает в проблеме явное указание типа поиска в папке:
fileR = Dir(путь_к_файлу, 16)
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
СПАСИБО ВСЕ БОЛЬШОЕ...Проблема решена. Две папки, в этом была последняя проблема.  
 
RADLE, на будущее: Вы не на форуме по созданию рисунков! Учитесь объяснять на нормальных файлах и примерах.
И правила читайте: о размере вложения. Просуммируйте все, что накидали... Последние сообщения с рисунками удалены. А если учесть, что вопрос - из-за собственной невнимательности...
 
Хорошо, я Вас понял.

Спасибо.
 
Прямой путь к папке пробовал работает, только дело в том, что каждый день путь новый в зависимости от даты. Я не специалист, поэтому и спрашиваю и я в первые на сайте, поэтому задаю вопросы таки образом.
Я не понимаю Что это fileR = Dir(путь_к_файлу, 16)

Спасибо
 
Цитата
RADLE написал:
Я не понимаю Что это
выделяем мышкой Dir и жмем F1
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Страницы: 1
Наверх