Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
102 / 87 / 17
Регистрация: 04.05.2011
Сообщений: 1,330
1

Перенос файла в vba

22.07.2016, 13:30. Показов 721. Ответов 9
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Мой код для переноса:
Visual Basic
1
2
3
4
5
6
7
        'Закрываем книгу откуда мы скопировали данные
        Workbooks(myFileName).Close SaveChanges:=True
        ' перемещаем отработанный файл в папку
        oldPath = myPath + myFileName
        newpath = NewDir + "" + myFileName
 
        Name oldPath As newpath
этот файл не обрабатывает.

Мне кажется, что то-то с файлом не так. Но что именно - хочу узнать у знатоков Excel.
Вложения
Тип файла: 7z 123.7z (68.4 Кб, 10 просмотров)
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.07.2016, 13:30
Ответы с готовыми решениями:

Перенос данных из таблицы (vba)
Как реализовать переноса определенных данных с листа "Заказы" на лист "Бланк на печать"?

Перенос найденных строк в VBA
Подскажите как перенести строчку с одного листа на другой, которую я нахожу через .find Sub...

Ecxel перенос строки в столбец VBA
В екселе имеется два листа: Лист1 и Лист2 Данные в виде текста содержатся в Лист1: А1,В1,С1...

Перенос данных из Excel в Word с VBA
Есть некоторые данные в excel(на слайде 1 в ячейке a1(к примеру в ней написана фамилия человека)),...

9
6947 / 2851 / 549
Регистрация: 19.10.2012
Сообщений: 8,730
22.07.2016, 15:43 2
Remarks

The Name statement renames a file and moves it to a different directory or folder, if necessary. Name can move a file across drives, but it can only rename an existing directory or folder when both newpathname and oldpathname are located on the same drive. Name cannot create a new file, directory, or folder.

Может тут "собака порылась"? Архив мне недоступен.
0
102 / 87 / 17
Регистрация: 04.05.2011
Сообщений: 1,330
22.07.2016, 16:56  [ТС] 3
Возможно. Я открыл этот файл и попытался сохранить его в другое место вручную. Получил ошибку: "Errors were detected while saving "". Microsoft Excel may be able to save the file by removing or repairing some feature..."
Похоже, есть связи не разорванные. Как разорвать ВСЕ СВЯЗИ пока не знаю. (не знаток Excel-я)
0
6947 / 2851 / 549
Регистрация: 19.10.2012
Сообщений: 8,730
22.07.2016, 17:06 4
Для перименования файла скриптом совершенно не важны связи или содержимое этого файла.
Для проверки "перенесите" файл тут же рядом под другим именем - если сработает, значит макрос не виноват (с учётом ограничений из цитаты).
0
102 / 87 / 17
Регистрация: 04.05.2011
Сообщений: 1,330
22.07.2016, 17:54  [ТС] 5
Ну, я попытался пересохранить "ручками".

Добавлено через 35 минут
Цитата Сообщение от Hugo121 Посмотреть сообщение
Remarks
The Name statement renames a file and moves it to a different directory or folder, if necessary. Name can move a file across drives, but it can only rename an existing directory or folder when both newpathname and oldpathname are located on the same drive. Name cannot create a new file, directory, or folder.
По поводу Name: макрос, частью которого он является, обрабатывает много файлов. Ошибка появляется только при работе с этим.
0
4135 / 2239 / 940
Регистрация: 01.12.2010
Сообщений: 4,624
22.07.2016, 20:28 6
Aleator, Если у Вас наблюдается такая же беда, то можно, например, "пересобрать" книгу, т.е. скопировать все листы и имена в новую книгу
Миниатюры
Перенос файла в vba  
0
102 / 87 / 17
Регистрация: 04.05.2011
Сообщений: 1,330
22.07.2016, 21:02  [ТС] 7
Да, наблюдается. Попробую пересобирать (создавать новый и записывать лист).

Добавлено через 13 минут
Извините за глупый вопрос: А что означают эти пустые вставки? Были страницы, они удалены, объект остался?
0
1 / 1 / 0
Регистрация: 22.07.2016
Сообщений: 6
22.07.2016, 21:04 8
Ищи проги
0
4135 / 2239 / 940
Регистрация: 01.12.2010
Сообщений: 4,624
22.07.2016, 22:20 9
Aleator, Судя по скриншоту, количество этих фантомов совпадает с количеством существующих модулей, т.е. 6 модулей листов + 1 модуль книги. Так что, больше похоже на сбой, т.е. excel просто не может "связать" лист и его модуль.
0
6947 / 2851 / 549
Регистрация: 19.10.2012
Сообщений: 8,730
22.07.2016, 23:16 10
Всё без проблем отрабатывает:
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
Sub tt()
 
myPath = "c:\Downloads"<=тут добавить слэш, форум ест...
myFileName = "123.xlsm"
NewDir = "c:\Downloads\2"<=тут добавить слэш, форум ест...
 
    oldPath = myPath + myFileName
    newpath = NewDir + "" + myFileName
 
    Name oldPath As newpath
    
End Sub
Специально ничего не менял в коде - но я бы убрал плюсование пустой строки, а плюсы заменил на амперсанды, как положено в VBA.
0
22.07.2016, 23:16
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.07.2016, 23:16
Помогаю со студенческими работами здесь

Outlook: перенос в входящие с помощью VBA
Добрый день. Столкнулся с непосильной для меня задачей, надо перенести все задачи которые без...

Перенос кода VBA в файл VBS
как это делается, интересует Ворд? перавя строка: Option Explicit присутсвует тупой перенос...

Перенос проекта VBA на другие машины
Доброго времени суток, уважаемые Дамы и Господа. Обращаюсь к Вам с весьма нелепым вопросом: мною...

Перенос данных из VBA в документ Word
Здравствуйте. При выполнение задания столкнулся с проблемой под номером 3(Screenchot 1). Как...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru