Шаблон кода: Файлы

' ToD: доделать 5/2
Option Explicit
 
Private sFileDest As String, sFileSour As String
Private wb_Sour As Workbook, wb_Dest As Workbook
Private ws_Sour As Worksheet, ws_Dest As Worksheet
 
Private rng As Range, arr() As Variant
 
Private bDebug As Boolean
 
Public Sub Этап_01()
'1.  Общее описание процесса: Заполнить книгу "Категории.xls" _
  на основании Исходных данных, которые лежат в папке "Премии" и "Списки сотрудников"
'2.  Из каких книг и столбцов в какие книги и столбцы данные _
  должны переноситься:
    Application.ScreenUpdating = 0
 
    bDebug = 1
    Dim FileName_Full As String, wb_Name As String
    wb_Name = "Категории.xls"
    FileName_Full = ThisWorkbook.Path & "\1. Категории\" & wb_Name
 
    If Not ОткрытаЛиКнига(wb_Name) Then _
       Workbooks.Open FileName_Full
    Set wb_Dest = Workbooks(wb_Name)
    Set ws_Dest = wb_Dest.Worksheets("Выгрузка")
 
    If bDebug Then ws_Dest.Activate
 
    Dim strFileName As String
    Dim strFolder As String: strFolder = ThisWorkbook.Path & "\1. Категории\Исходные данные\Списки сотрудников\"
    Dim strFileSpec As String: strFileSpec = strFolder & "*.*"
' Обход файлов в заданном каталоге
    strFileName = Dir(strFileSpec)
    Do While Len(strFileName) > 0
        If Not ОткрытаЛиКнига(strFileName) Then _
           Workbooks.Open strFolder & strFileName
        Set wb_Sour = Workbooks(ИмяФайлаБезПути(strFileName))
        Set ws_Sour = wb_Sour.Worksheets(1)
        If bDebug Then wb_Sour.Activate
 
        'ФИО Сотрудника  Книги из папки "Списки сотрудников"
        'Из столбца "Сотрудник" (B)  столбец "ФИО" (А) Вставить в формате Ф И.О., например "Абрамов А.А."
 
        With ws_Sour
            Set rng = .Range(.Cells(9, 2), .Cells(Строка_Крайняя(ws_Sour), 4))    '
        End With
        arr = rng.Value
 
        ФИО_Укоротить
        Должности_Заменить
        Five_2
        Этап_01_Втавить_на_Лист
 
        ' Файл следующий
        wb_Sour.Close False
        strFileName = Dir
    Loop
 
End Sub

 

Оставить комментарий

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.