我试图让表格的内部表格中的词。当然在finall程序将dinamical,这是不是这样。

这里是我的样的代码。

 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的列表内第一个表,以比一切都是正常的。

你可以帮助我。

谢谢你,大韩民国

有帮助吗?

解决方案

当你有问题创造这些桌子在代码中,做到以下几点:

  • 开词
  • 录制新的宏
  • 同时记录,建立该表你想要的,那么停止的记录。
  • 查看你的宏代码的视觉基本的编辑和尽力翻译,以OLE-自动化的代码(这并不难,这几乎相同)

其他提示

aTable.Borders.Item(wdBorderVertical).LineStyle:=wdLineStyleSingle;
aTable.Borders.Item(wdBorderHorizontal).LineStyle:=wdLineStyleSingle;

您必须为BTABLE&cTable这样做。

当添加超过1行/列,它将需要边界以分离它(即从来自另一另一个或分开的1个柱分离1行)。

希望这有助于。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top