如何翻译VBA中的二维数组为Delphi的OLE代码?
下面是一段VB代码。 实现的功能是在word中提取第3个图形的第二个顶点的坐标值。
调试正确。
Set myDocument = Worksheets(1)
With myDocument.Shapes(3).Nodes
pointsArray = .Item(2).Points
currXvalue = pointsArray(1, 1)
currYvalue = pointsArray(1, 2)
.SetPosition 2, currXvalue + 200, currYvalue + 300
End With
我的问题是:如何把这些代码变成delphi的。
翻译类似下面的:
{ Code By Kingron }
procedure TForm1 . Button1Click ( Sender : TObject );
var
WordApp , Nodes , Points : OleVariant ;
X , Y : integer ;
begin
try
WordApp := GetActiveOleObject ( 'Word.Application' );
except
WordApp := CreateOleObject ( 'Word.Application' );
end ;
WordApp . ShowMe ;
Nodes := WordApp . ActiveDocument . Shapes . Item ( 3 ). Nodes ;
Points := Nodes . Item ( 2 ). Points ;
/// Don't use : X:= Nodes.Item(2).Points[1,1]; !!!!
/// Otherwise, you will Get an error!
X := Points [ 1 , 1 ];
Y := Points [ 1 , 2 ];
Nodes . SetPosition ( 2 , X + 200 , Y + 200 );
end ;