В этой статье мы рады предложить вам способ преобразования рабочего листа Excel в исходную таблицу Word с помощью VBA.
Офисные файлы имеют различные форматы. Время от времени возникает необходимость конвертировать файлы из одного формата в другой. Например, конвертация между файлом Excel и документом Word — одна из наиболее востребованных. Кстати, мы уже обсуждали эту тему в одной из наших предыдущих статей: 5 простых способов перенести табличные данные Excel в Word
Сегодня существует гораздо более быстрый макрос-способ извлечения книги Excel в документ Word. И все содержимое рабочего листа будет преобразовано в собственную таблицу Word.
Установить и запустить макрос Word
Мы будем запускать макрос в Word. Поскольку часть кода в макросе включает в себя запуск объекта Excel, необходимо добавить ссылку на библиотеку объектов.
- В первую очередь, откройте новый пустой документ Word.
- И нажмите «Alt + F11», чтобы открыть редактор VBA в Word.
- Затем нажмите «Обычный» в левом столбце.
- Затем нажмите «Вставить» и выберите «Модуль».
- Теперь у вас есть новый модуль. Дважды щелкните по нему, чтобы открыть.
- Затем нажмите вкладку «Инструменты» в строке меню.
- Выберите «Ссылки» в раскрывающемся меню.
- В окне «Ссылки — Обычные» установите флажок «Библиотека объектов Microsoft Excel 14.0» и нажмите «ОК».
- Затем скопируйте и вставьте следующие коды в новый модуль:
Sub ExtractWorksheetsToWordDocument()
Dim objExcel As Excel.Application
Dim objWorkbook As Excel.Workbook
Dim objWorksheet As Excel.Worksheet
Dim objTable As Table
Dim dlgFile As FileDialog
Dim strFileName As String
Application.ScreenUpdating = False
' Select an Excel file from Browse window.
Set dlgFile = Application.FileDialog(msoFileDialogFilePicker)
With dlgFile
If .Show = -1 Then
strFileName = .SelectedItems(1)
Else
MsgBox "No file is selected! Please select the target file."
Exit Sub
End If
End With
Set objExcel = CreateObject("Excel.Application")
Set objWorkbook = objExcel.Workbooks.Open(strFileName)
objExcel.Visible = False
' Step through each worksheet in the Excel file and extract data to each _
individual section in Word document.
For Each objWorksheet In ActiveWorkbook.Worksheets
objWorksheet.UsedRange.Copy
ActiveDocument.Paragraphs(ActiveDocument.Paragraphs.Count).Range.Paste
ActiveDocument.Range.InsertAfter objWorksheet.Name
If Not objWorksheet.Name = Worksheets(Worksheets.Count).Name Then
With ActiveDocument.Paragraphs(ActiveDocument.Paragraphs.Count).Range
.Collapse Direction:=wdCollapseEnd
.InsertBreak Type:=wdSectionBreakNextPage
End With
End If
Next objWorksheet
For Each objTable In ActiveDocument.Tables
objTable.Borders.Enable = True
Next objTable
' Close the Excel application using the Quit method.
objExcel.Application.Quit
' Release the object variables.
Set objWorksheet = Nothing
Set objWorkbook = Nothing
Set objExcel = Nothing
Application.ScreenUpdating = True
End Sub
- Нажмите «Выполнить» или нажмите «F5».
- Теперь есть окно «Обзор». Просто выберите файл Excel и нажмите «ОК».
Вот результат:
Убедитесь, что ваши документы все еще работают
Возможно, на вашем компьютере хранятся сотни документов. Со временем легко забыть некоторые из них. И когда вы вспоминаете, что проверяли их в какой-то момент, вы только находите их недоступными. Тогда следует немедленно прибегнуть к средству для документ по ремонту.
Об авторе:
Вера Чен — эксперт по восстановлению данных в DataNumen, Inc., которая является мировым лидером в области технологий восстановления данных, включая исправить xlsx и pdf ремонт программных продуктов. Для получения дополнительной информации посетите www.datanumen.com




