Zapis do pliku *.doc

0

Witam wszystkich.

Tworzę sobie dokument *.doc za pomocą takiej standardowej procedurki:

var  WordApp, WordDoc: Variant;

   WordApp := CreateOleObject('Word.Application') ;
   WordDocument := WordApp.Documents.Add;
   WordApp.Selection.TypeText('jakis tekst'+#10) ; //dodanie tekstu
   WordApp.Selection.Tables.Add(WordApp.Selection.Range,2,2); // utworzenie tabeli 2 na 2
   WordDoc.SaveAs(FileName := 'C:\ala.doc', AddToRecentFiles := False); // zapis do pliku
   WordApp.Quit(False);

i jest OK, ale nie mogę sobie poradzić ze zmianą szerokości kolumny w tabeli.
Czy ktoś się z tym bawił i byłby łaskawy udzielić jakiś wskazówek.

0

http://www.vbforums.com/archive/index.php/t-505967.html

Set objword = CreateObject("Word.Application")
objword.Visible = True
Set objdoc = objword.Documents.Add
Set objRange = objdoc.Range()

'Insert table with 2 Columns and Four Rows
objdoc.Tables.Add objRange, 1, 2
Set objtable = objdoc.Tables(1)
objtable.Columns(1).PreferredWidth = 150
objtable.Columns(2).PreferredWidth = 350
objtable.Cell(1, 1).Range.ParagraphFormat.Alignment = wdAlignParagraphRight
objtable.Rows.Add
objtable.Rows.Add
objtable.Rows.Add

0

Niestety jest problem.
Po przełożeniu na Delphi;

   objword := CreateOLEObject('Word.Application');
   objword.Visible := True;
   objDoc := objWord.Documents.Add;
   objRange := objDoc.Range();

//Insert table with 2 Columns and Four Rows
   objDoc.Tables.Add(objRange, 1, 2);
   objTable := objDoc.Tables(1); // <--------------------------------
   objTable.Columns(1).PreferredWidth := 150;
   objTable.Columns(2).PreferredWidth := 350;
   objTable.Cell(1, 1).Range.ParagraphFormat.Alignment := 3;
   objTable.Rows.Add;
   objTable.Rows.Add;
   objTable.Rows.Add;

w zaznaczonej lini wywala błąd "EOleException with message, 'Tables' nie jest metodą."

1 użytkowników online, w tym zalogowanych: 0, gości: 1