首页  编辑  

如何翻译二维数组语句

Tags: /超级猛料/Office.OA自动化/   Date Created:

如何翻译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 ;