Решение, приведенное ниже, должно работать для Word 2007 с пакетом обновления 2 (SP2) и Word 2010. Оно было основано на коде, найденном в замечательной статье Питера Грюнбаума «Создание диаграмм с VBA в Word 2010», которую можно прочитать здесь:
Создание диаграмм с VBA в Word 2010
Важно отметить, что для правильной работы этого кода VBA он должен содержать ссылку на библиотеку объектов Microsoft Excel 14.0 (для тех, ктоне знаю, как это сделать, в статье, на которую ссылается выше, подробно объясняется, как добавить эту ссылку).
Sub MakeChartFromTable()
Dim myTable As Table
Dim salesChart As Chart
Dim chartWorkSheet As Excel.Worksheet
Dim x As Integer
Dim RowCount As Integer
Dim ColumnCount As Integer
Dim LastColumn As String
For Each myTable In ActiveDocument.Tables
myTable.Range.Copy
'Create Chart
Set salesChart = ActiveDocument.Shapes.AddChart.Chart
Set chartWorkSheet = salesChart.ChartData.Workbook.Worksheets(1)
'Determine size of table
RowCount = myTable.Rows.Count
ColumnCount = myTable.Columns.Count
'Determine spreadsheet column letter for last column of table
If ColumnCount < 26 Then
LastColumn = Chr(64 + ColumnCount)
Else
LastColumn = Chr(Int(ColumnCount / 26) + 64) & Chr((ColumnCount Mod 26) + 64)
End If
'Resize chart data area to table size and paste table data
With chartWorkSheet
.ListObjects("Table1").DataBodyRange.Delete
.ListObjects("Table1").Resize chartWorkSheet.Range("A1:" & LastColumn & RowCount)
.Range("A1:" & LastColumn & RowCount).Select
.Paste
End With
salesChart.ChartData.Workbook.Close
Next
End Sub
Этот код создает диаграммы из целых таблиц Word, поэтому включает ваш код для выбора частичных таблиц (как указано в вашем вопросе) будет необходимо.Дополнительный код также потребуется для размещения диаграмм в документе Word.Надеюсь, это поможет.