1

Тема: Концепция перевода диапазонов Ячеек Exel в Таблицу Word

Общая концепция в коде

Public appExl As Excel.Application


Public Sub CopyTableExcel()
Dim tbl As Table, RangeName As String, FD As FileDialog
Dim ListFiles() As String
Dim WbExl As Excel.Workbook, RangeEl As Excel.Range, Cell As Excel.Range
        Set FD = Application.FileDialog(msoFileDialogFilePicker)
            With FD
                .ButtonName = "Создать"
                .Title = "Список файлов"
                    With .Filters
                        .Clear
                        .Add "Файлы Exel", "*.xls, *.xlsx, *.xlsm"
                    End With
            End With
        FD.Show
        ReDim Preserve ListFiles(1 To FD.SelectedItems.Count)
        For i = 1 To FD.SelectedItems.Count
            ListFiles(i) = FD.SelectedItems(i)
        Next i
    RangeName = InputBox("Введите диапазон ячеек Exel")
    Set appExl = New Excel.Application
    appExl.Visible = False
    For k = 1 To UBound(ListFiles)
    appExl.Workbooks.Open (ListFiles(k))
    fi = ListFiles(k)
        Set WbExl = appExl.Workbooks.Open(fi)
        appExl.GoTo RangeName
        Set RangeEl = appExl.Selection.Cells
            Set tbl = ActiveDocument.Tables.Add(Selection.Range, RangeEl.Rows.Count, RangeEl.Columns.Count)
                For j = 1 To tbl.Range.Cells.Count
                    Set Cell = appExl.Selection.Cells(j)
                    tbl.Range.Cells(j).Range.Text = Cell.Value
                Next j
        WbExl.Close 0
        ActiveDocument.Range(tbl.Range.End, tbl.Range.End + 1).Select
        Selection.TypeParagraph
    Next k
    appExl.Quit
End Sub

Концепция кода отражает общий принцип перевода диапазонов ячеек Exel в таблицы Word.
Макрос сначала запрашивает список файлов Exel и название диапазона ячеек. Диапазон ячеек во всех файлах может быть разный, но название должно быть одинаковым.
Далее создается и заполняется таблица Worda.

Некоторые возможности концепции:
1. Выделять напрямую ячейки Exel и сразу же создавать таблицу Worda
2. Связывать таблицу Worda с ячейками Exel и обновлять их автоматически
3. Связывать вместе таблицы Exel, Worda и интернета
4. Рисовать объекты в Word и связывать их с таблицами Exel для определенных математических расчетов.
И многое другое