2015-12-21 1068 views
1

我有一个Word文档有2页,并且我已经插入了表格,该表格从第一页开始并持续到第二页的中间(只有一个表格存在于文件)。在Delphi(XE7)和OLE自动化(变体和Office 2013)中,如何在表后移动光标? (手动在Word文档文件,我曾多次按回车键)如何将光标移动到表格的末尾在word应用程序

为此,这些代码将无法正常工作:

Selection.GoTo(wdGoToItem.wdGoToPage, wdGoToDirection.wdGoToLast); 

和:

Selection.EndKey(wdStory, EmptyParam); 

和:

lvParag := ActiveDocument.Paragraphs.First; 
Result := Range.Sentences.First.End - 1; 
+0

选择表,然后向前移动一个字符? –

+0

@JanDoggen,如何选择表格或其他对象? – Mohamad

+1

类似'Selection.Tables [1] .Select; Selection.Collapse(0); // wdCollapseEnd' – kobik

回答

2

有很多种方法可以去做。我使用的是获取表格的范围然后折叠范围。像这样的东西(VBA,但你不应该有任何困难“翻译”它):

Dim tbl as Word.Table, rng as Word.Range 
Set tbl = ActiveDocument.Tables(1) 
Set rng = tbl.Range 
rng.Collapse wdCollapseEnd 'Word.WdCollapseDirection.wdCollapseEnd 
'If you need to show the user the Selection 
rng.Select() 
'Otherwise, continue to work with the Range object, adding text, for example: 
rng.Text = "text following the table" 
'and formatting it 
rng.Style = "style name" 
+0

我已经将它转换为Pascal代码,当执行此操作时,在Set rng = tbl.Range 0123处提示一个异常“Tables is not methos” – Mohamad

+0

Pascal是否使用关键字SET将某些内容分配给对象变量?我知道VB.NET和C#不... –

相关问题