Самый простой вариант решения:
Private Sub Кнопка4_Click()
Dim rst As ADODB.Recordset
Dim varData As String, fld As Variant
Dim objWD As Word.Application [color=green]' Cсылка на MS Word[/color]
Dim mytbl As Table
Set rst = New ADODB.Recordset
rst.Open "Клиенты", CurrentProject.Connection, adOpenStatic, adCmdText
Set objWD = New Word.Application
objWD.Visible = True
objWD.Documents.Add [color=green]' Добавление нового документа[/color]
varData = rst.GetString() [color=green]' Преобразование rst в строку varData[/color]
With objWD.Selection
.TypeText ("Данные о клиентах") & Chr(13) & Chr(13) [color=green]' Вывод заголовка документа[/color]
.InsertAfter varData [color=green]' Вставка строки в документ[/color]
' Конвертирование строки в таблицу; автозаполнение - по ширине текста
Set mytbl = .ConvertToTable(wdSeparateByTabs, rst.RecordCount, rst.Fields.Count, wdAutoFitContent)
End With
With mytbl
.Rows.Add(.Rows(1)).HeadingFormat = True [color=green]' Добавление строки заголовка табл.[/color]
For Each fld In rst.Fields
i = i + 1
.Cell(1, i).Range.Text = fld.Name [color=green]' Заполнение заголовка таблицы[/color]
Next
.AutoFormat wdTableFormatGrid1 [color=green]' Автоформат таблицы[/color]
End With
' objWD.Quit
' Set objWD = Nothing
End Sub
Если необходимо, сделайте дополнительное форматирование таблицы и текста.