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

Вход

Регистрация

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

 

= Мир MS Excel/Перенос файлов-папок с опред.названием в определенную папку - Мир MS Excel

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

Excel 2013
Добрый день.
Помогите решить непростой технический вопрос.

В одной папке с файлом - есть папки 1 и 2. (их названия - вписаны в желтую D6 и красную F6 ячейки).
В зеленую ячейку H4 - вписано ключевое слово (по которому нужно провести поиск).

Как заставить макрос залезть в папку 1, найти папки и файлы по ключевому слову и переносит со всем содержимым - в папку 2 ?
К сообщению приложен файл: 3451113.rar (9.8 Kb)
 
Ответить
СообщениеДобрый день.
Помогите решить непростой технический вопрос.

В одной папке с файлом - есть папки 1 и 2. (их названия - вписаны в желтую D6 и красную F6 ячейки).
В зеленую ячейку H4 - вписано ключевое слово (по которому нужно провести поиск).

Как заставить макрос залезть в папку 1, найти папки и файлы по ключевому слову и переносит со всем содержимым - в папку 2 ?

Автор - SergVrn
Дата добавления - 13.08.2017 в 10:57
InExSu Дата: Воскресенье, 13.08.2017, 13:29 | Сообщение № 2
Группа: Друзья
Ранг: Ветеран
Сообщений: 648
Репутация: 96 ±
Замечаний: 0% ±

Excel 2010, 365
Для папок:
[vba]
Код
Option Explicit
'Option Base 1

Dim FSO As Object, SourceFolder As Object, SubFolder As Object, FileItem As Object
'Dim r As Long
'Dim arrFileName() As String
Dim sFold01 As String, sFold02 As String, sKeyWor As String
Dim sNewFolder As String

Sub InExSu_ПереносФайлов_ПоСимволамВИмени()
  Call getSettings
  Call MoveFolder(sFold01, sFold02, sKeyWor)
  'Call moveFiles
End Sub
Sub getSettings()
  With ThisWorkbook.Worksheets("Лист3")
    sFold01 = .Range("d6").Value
    sFold02 = .Range("f6").Value
    sKeyWor = .Range("h4").Value
  End With
End Sub
Sub MoveFolder(ByVal sFold01, ByVal sFold02, ByVal sKeyWor)
  Set FSO = CreateObject("Scripting.FileSystemObject")
  Set SourceFolder = FSO.getfolder(sFold01)
  For Each SubFolder In SourceFolder.SubFolders 'для каждой вложенной папки
    With CreateObject("Scripting.FileSystemObject")
      If InStr(SubFolder, sKeyWor) Then
        sNewFolder = Replace(SubFolder, sFold01, sFold02)
        If .FolderExists(sNewFolder) = False Then _
          .getfolder(SubFolder).Move sNewFolder 'в существующую папку файлы не добавляются
      End If
    End With
  Next SubFolder
End Sub
[/vba]
Для файлов надо?


Разработчик Битрикс24 php, Google Apps Script, VBA Excel Windows/Mac
 
Ответить
СообщениеДля папок:
[vba]
Код
Option Explicit
'Option Base 1

Dim FSO As Object, SourceFolder As Object, SubFolder As Object, FileItem As Object
'Dim r As Long
'Dim arrFileName() As String
Dim sFold01 As String, sFold02 As String, sKeyWor As String
Dim sNewFolder As String

Sub InExSu_ПереносФайлов_ПоСимволамВИмени()
  Call getSettings
  Call MoveFolder(sFold01, sFold02, sKeyWor)
  'Call moveFiles
End Sub
Sub getSettings()
  With ThisWorkbook.Worksheets("Лист3")
    sFold01 = .Range("d6").Value
    sFold02 = .Range("f6").Value
    sKeyWor = .Range("h4").Value
  End With
End Sub
Sub MoveFolder(ByVal sFold01, ByVal sFold02, ByVal sKeyWor)
  Set FSO = CreateObject("Scripting.FileSystemObject")
  Set SourceFolder = FSO.getfolder(sFold01)
  For Each SubFolder In SourceFolder.SubFolders 'для каждой вложенной папки
    With CreateObject("Scripting.FileSystemObject")
      If InStr(SubFolder, sKeyWor) Then
        sNewFolder = Replace(SubFolder, sFold01, sFold02)
        If .FolderExists(sNewFolder) = False Then _
          .getfolder(SubFolder).Move sNewFolder 'в существующую папку файлы не добавляются
      End If
    End With
  Next SubFolder
End Sub
[/vba]
Для файлов надо?

Автор - InExSu
Дата добавления - 13.08.2017 в 13:29
SergVrn Дата: Воскресенье, 13.08.2017, 14:08 | Сообщение № 3
Группа: Пользователи
Ранг: Участник
Сообщений: 87
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Для файлов надо?

Да, для файлов тоже, если можно.
 
Ответить
Сообщение
Для файлов надо?

Да, для файлов тоже, если можно.

Автор - SergVrn
Дата добавления - 13.08.2017 в 14:08
SergVrn Дата: Понедельник, 14.08.2017, 04:51 | Сообщение № 4
Группа: Пользователи
Ранг: Участник
Сообщений: 87
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
InExSu, подскажите, а как еще и файлы переносить ?
 
Ответить
СообщениеInExSu, подскажите, а как еще и файлы переносить ?

Автор - SergVrn
Дата добавления - 14.08.2017 в 04:51
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Перенос файлов-папок с опред.названием в определенную папку (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

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