Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/перенос файла и удаление - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » перенос файла и удаление (Макросы/Sub)
перенос файла и удаление
leskris Дата: Пятница, 11.09.2015, 06:34 | Сообщение № 1
Группа: Пользователи
Ранг: Участник
Сообщений: 90
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016 (Office 365)
Подскажите пожалуйста можно ли в экселе реализовать следующую операцию

В файле 1.xlsm есть кнопка при нажатии которой этот ФАЙЛ копируется в другую папку, а текущий закрывается и удаляется?
Правильно ли я понимаю, что макрос нужно сделать по такому алгоритму:
1) скопировать файл в другую папку
2) закрыть текущий файл
3) открыть скопированный файл
4) запустить макрос удаления файла
5) закрыть файл
Или есть более простой способ?
 
Ответить
СообщениеПодскажите пожалуйста можно ли в экселе реализовать следующую операцию

В файле 1.xlsm есть кнопка при нажатии которой этот ФАЙЛ копируется в другую папку, а текущий закрывается и удаляется?
Правильно ли я понимаю, что макрос нужно сделать по такому алгоритму:
1) скопировать файл в другую папку
2) закрыть текущий файл
3) открыть скопированный файл
4) запустить макрос удаления файла
5) закрыть файл
Или есть более простой способ?

Автор - leskris
Дата добавления - 11.09.2015 в 06:34
KSV Дата: Пятница, 11.09.2015, 09:17 | Сообщение № 2
Группа: Друзья
Ранг: Ветеран
Сообщений: 770
Репутация: 255 ±
Замечаний: 0% ±

Excel 2013
[vba]
Код
Sub test()
     Dim sFullName$
     sFullName = ThisWorkbook.FullName
     ThisWorkbook.SaveAs "D:\Другой путь\Копия.xlsm"
     Kill sFullName
End Sub
[/vba]


KSV.VBA@gmail.com
Яндекс.Деньги: 410011921213333
 
Ответить
Сообщение[vba]
Код
Sub test()
     Dim sFullName$
     sFullName = ThisWorkbook.FullName
     ThisWorkbook.SaveAs "D:\Другой путь\Копия.xlsm"
     Kill sFullName
End Sub
[/vba]

Автор - KSV
Дата добавления - 11.09.2015 в 09:17
SLAVICK Дата: Пятница, 11.09.2015, 09:24 | Сообщение № 3
Группа: Модераторы
Ранг: Старожил
Сообщений: 2290
Репутация: 766 ±
Замечаний: 0% ±

2019
Вот для самоубийсва файла:
[vba]
Код
Sub SuicideSub()
MsgBox "Later!"
With ThisWorkbook
.Saved = True
.ChangeFileAccess xlReadOnly
Kill .FullName
.Close False
End With
End Sub
[/vba]
Почитать можно здесь:
Ой не дочитал условия (еще не проснулся) - код KSV правильнее будет для этой задачи - этот самоликвидирует файл без сохранения.
Удалять не буду - может пригодится ;)


Иногда все проще чем кажется с первого взгляда.

Сообщение отредактировал SLAVICK - Пятница, 11.09.2015, 09:32
 
Ответить
СообщениеВот для самоубийсва файла:
[vba]
Код
Sub SuicideSub()
MsgBox "Later!"
With ThisWorkbook
.Saved = True
.ChangeFileAccess xlReadOnly
Kill .FullName
.Close False
End With
End Sub
[/vba]
Почитать можно здесь:
Ой не дочитал условия (еще не проснулся) - код KSV правильнее будет для этой задачи - этот самоликвидирует файл без сохранения.
Удалять не буду - может пригодится ;)

Автор - SLAVICK
Дата добавления - 11.09.2015 в 09:24
leskris Дата: Пятница, 11.09.2015, 10:08 | Сообщение № 4
Группа: Пользователи
Ранг: Участник
Сообщений: 90
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016 (Office 365)
спасибо! первый вариант больше подходит
 
Ответить
Сообщениеспасибо! первый вариант больше подходит

Автор - leskris
Дата добавления - 11.09.2015 в 10:08
leskris Дата: Пятница, 11.09.2015, 10:59 | Сообщение № 5
Группа: Пользователи
Ранг: Участник
Сообщений: 90
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016 (Office 365)
[vba]
Код
Sub SuicideSub_sent_SV()

Dim path As Variant
Dim sFullName$
     sFullName = ThisWorkbook.FullName
     path = Sheets("form").Range("p1").Text & ThisWorkbook.Name
     ThisWorkbook.SaveAs path
     Kill sFullName
      
Application.Quit
     
End Sub
[/vba]

подправил код под свои нужды вышло так, может кому-то понадобится. В ячейке Р1 находится нужный адрес
Еще раз спасибо!
 
Ответить
Сообщение[vba]
Код
Sub SuicideSub_sent_SV()

Dim path As Variant
Dim sFullName$
     sFullName = ThisWorkbook.FullName
     path = Sheets("form").Range("p1").Text & ThisWorkbook.Name
     ThisWorkbook.SaveAs path
     Kill sFullName
      
Application.Quit
     
End Sub
[/vba]

подправил код под свои нужды вышло так, может кому-то понадобится. В ячейке Р1 находится нужный адрес
Еще раз спасибо!

Автор - leskris
Дата добавления - 11.09.2015 в 10:59
Мир MS Excel » Вопросы и решения » Вопросы по VBA » перенос файла и удаление (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!