Доброго времени суток, уважаемые форумчане. Понимаю, что тема избита, но нигде не могу найти ответа на мою проблему.
Встала необходимость экспортировать данные из базы в таблицу документа MS Word.
После записи макроса перенёс код в Делфи.
Код макроса следующий:
Код:
Sub Макрос2()
'
' Макрос2 Макрос
' Макрос записан 29.04.2012 Admin
'
ActiveDocument.Tables.Add Range:=Selection.Range, NumRows:=2, NumColumns:= _
5, DefaultTableBehavior:=wdWord9TableBehavior, AutoFitBehavior:= _
wdAutoFitContent
With Selection.Tables(1)
If .Style <> "Сетка таблицы" Then
.Style = "Сетка таблицы"
End If
.ApplyStyleHeadingRows = True
.ApplyStyleLastRow = True
.ApplyStyleFirstColumn = True
.ApplyStyleLastColumn = True
End With
End Sub
Код в Делфи
Код:
procedure TForm1.Button1Click(Sender: TObject);
var Range_: Range;
NumRows,NumColumns,DefaultTableBehavior,AutoFitBehavior: OleVariant;
begin
Range_:= WordApplication1.Selection.Range;
NumRows :=20;
NumColumns:= 5;
DefaultTableBehavior:= wdWord9TableBehavior;
AutoFitBehavior:= wdAutoFitContent;
WordApplication1.ConnectKind:=ckNewInstance;
WordApplication1.AutoConnect:= true;
WordApplication1.Documents.Add(EmptyParam,EmptyParam,EmptyParam,EmptyParam);
WordApplication1.ActiveDocument.Tables.Add(Range_,
NumRows,NumColumns,DefaultTableBehavior,AutoFitBehavior);
***
WordApplication1.Visible:= true;
WordApplication1.Disconnect;
end;
При добавлеии таблицы выдаёт ошибку "Указанный диапазон взят не из правильного документа или цепочки надписей ".
Помогите решить проблему. Заранее благодарен.