我想在WORD表格裏面製作表格。當然在最後的節目中它將是dinamical,這不是在這個樣本。OLE自動化 - WORD表格(德爾福)
這是我的示例代碼。
var
aTable, bTable, cTable : OLEVariant;
begin
m_WordApplication := CreateOleObject('Word.Application') ;
m_WordDocument := m_WordApplication.Documents.Add;
aTable := m_WordDocument.Tables.Add(m_WordApplication.Selection.Range, 2, 1);
aTable.Borders.Item(wdBorderLeft).LineStyle:=wdLineStyleSingle;
aTable.Borders.Item(wdBorderRight).LineStyle:=wdLineStyleSingle;
aTable.Borders.Item(wdBorderTop).LineStyle:=wdLineStyleSingle;
aTable.Borders.Item(wdBorderBottom).LineStyle:=wdLineStyleSingle;
bTable := m_WordDocument.Tables.Add(aTable.Cell(1, 1).Range, 2, 1);
bTable.Borders.Item(wdBorderLeft).LineStyle:=wdLineStyleSingle;
bTable.Borders.Item(wdBorderRight).LineStyle:=wdLineStyleSingle;
bTable.Borders.Item(wdBorderTop).LineStyle:=wdLineStyleSingle;
bTable.Borders.Item(wdBorderBottom).LineStyle:=wdLineStyleSingle;
cTable := m_WordDocument.Tables.Add(aTable.Cell(2, 1).Range, 3, 1);
cTable.Borders.Item(wdBorderLeft).LineStyle:=wdLineStyleSingle;
cTable.Borders.Item(wdBorderRight).LineStyle:=wdLineStyleSingle;
cTable.Borders.Item(wdBorderTop).LineStyle:=wdLineStyleSingle;
cTable.Borders.Item(wdBorderBottom).LineStyle:=wdLineStyleSingle;
m_WordDocument.SaveAs('C:/test.doc', False) ;
m_WordApplication.Quit(False);
首先我把上的光標的位置的新表(2行,第1列),然後我試圖把第二表在細胞(1,1)和第三個中的細胞(2,1)第一張桌子。第二個表也有2行和1列,但第三個表有3行和1列。但不是我想要什麼我得到第二個和第三個桌子只有一行,不管我是否在他的單元格中輸入了某些東西,我總是隻看到放在該表格中的最後一個字符串。
甚至更多,如果我把1行和2列表放在第一個表內,那麼一切都是正常的。
你能幫助我嗎?
感謝,韓城
也許你可以編輯您的文章,使之更可讀。 (最重要的是:正確拼寫) – 2009-07-17 06:10:09
此外,我強烈建議(使用OleVariants =)使用早期綁定(=使用界面從導入Word_TLB),其中在這樣的後期綁定具有許多優點 – 2009-07-17 06:26:06