Привет, форумчане! Нужна помощь в доработке макроса. Имеется макрос для копирования файлов из одной папки в другую по части имени файла по списку в excel (макрос указан ниже). Просьба помочь доработать его для: - копирования файлов из папки с учетом подпапок; - выделения цветом (либо прописать в соседнем столбце) в реестре excel тех файлов, которые не нашлись (не скопировались). [vba]
Код
Sub copyfiles() 'Updateby Extendoffice Dim xRg As Range, xCell As Range Dim xSFileDlg As FileDialog, xDFileDlg As FileDialog Dim xSPathStr As Variant, xDPathStr As Variant Dim xVal As String On Error Resume Next Set xRg = Application.InputBox("Please select the file names:", "KuTools For Excel", ActiveWindow.RangeSelection.Address, , , , , 8) If xRg Is Nothing Then Exit Sub Set xSFileDlg = Application.FileDialog(msoFileDialogFolderPicker) xSFileDlg.Title = "Please select the original folder:" If xSFileDlg.Show <> -1 Then Exit Sub xSPathStr = xSFileDlg.SelectedItems.Item(1) & "\" Set xDFileDlg = Application.FileDialog(msoFileDialogFolderPicker) xDFileDlg.Title = "Please select the destination folder:" If xDFileDlg.Show <> -1 Then Exit Sub xDPathStr = xDFileDlg.SelectedItems.Item(1) & "\" For Each xCell In xRg xVal = xCell.Value If TypeName(xVal) = "String" And xVal <> "" Then 'FileCopy xSPathStr & xVal, xDPathStr & xVal CreateObject("WScript.Shell").Run "cmd /C COPY /Y """ & xSPathStr & "*" & xVal & "*" & """ " & """" & xDPathStr & """", 0, True End If Next End Sub
[/vba]
Привет, форумчане! Нужна помощь в доработке макроса. Имеется макрос для копирования файлов из одной папки в другую по части имени файла по списку в excel (макрос указан ниже). Просьба помочь доработать его для: - копирования файлов из папки с учетом подпапок; - выделения цветом (либо прописать в соседнем столбце) в реестре excel тех файлов, которые не нашлись (не скопировались). [vba]
Код
Sub copyfiles() 'Updateby Extendoffice Dim xRg As Range, xCell As Range Dim xSFileDlg As FileDialog, xDFileDlg As FileDialog Dim xSPathStr As Variant, xDPathStr As Variant Dim xVal As String On Error Resume Next Set xRg = Application.InputBox("Please select the file names:", "KuTools For Excel", ActiveWindow.RangeSelection.Address, , , , , 8) If xRg Is Nothing Then Exit Sub Set xSFileDlg = Application.FileDialog(msoFileDialogFolderPicker) xSFileDlg.Title = "Please select the original folder:" If xSFileDlg.Show <> -1 Then Exit Sub xSPathStr = xSFileDlg.SelectedItems.Item(1) & "\" Set xDFileDlg = Application.FileDialog(msoFileDialogFolderPicker) xDFileDlg.Title = "Please select the destination folder:" If xDFileDlg.Show <> -1 Then Exit Sub xDPathStr = xDFileDlg.SelectedItems.Item(1) & "\" For Each xCell In xRg xVal = xCell.Value If TypeName(xVal) = "String" And xVal <> "" Then 'FileCopy xSPathStr & xVal, xDPathStr & xVal CreateObject("WScript.Shell").Run "cmd /C COPY /Y """ & xSPathStr & "*" & xVal & "*" & """ " & """" & xDPathStr & """", 0, True End If Next End Sub