一个写法问题

  • 主题发起人 主题发起人 import
  • 开始时间 开始时间
I

import

Unregistered / Unconfirmed
GUEST, unregistred user!
一个写法问题
我们知道,在Delphi控制Word中,经常有Documents等对象或者属性集合,例如:我们要控制第一个文档的第一个表格的第i,j个单元格,有Word的宏如下:
Application.Documents(1).Tables(1).Cells(i,j)....
或者:
Application.Documents('Doc1').Tables(1).Cells(i,j)....
转换成Delphi,我这样写行不通:WordApp.Documents[1].Tables[1].Cells[i,j]......
Documents[1]会提示Item不是一种属性,而写成Documents(1)由告诉你Documents不是一种方法!那么那么在Delphi中如何用OLE控制呢?写法如下:
WordApp:=CreateOleObject('Word.Application');
WordApp.Documents.Item(1).Tables.Item(1).Cells(i,j).......
你也可以利用文档名来做到:
WordApp.Documents.Item('Doc1.Doc').Tables.Item(1).Cell(i,j)....
另外,我们知道VBA中有如下的写法:
WorkSheets("Sheet1").Name="Test"
那么翻译成Delphi应该写成如下:WorkSheets['Sheet1'].Name :='Test';
总而言之,有下面两种写法:
Sheet.Cells.Range('C2') := 'KK';
Sheet.Cells.Range['C2'] := 'KK';
如果一种写法不行,就换另外一种即可,如果还不行,就加.Item。
 
后退
顶部