1

在使用 Shape.IncrementLeft 和 Shape.IncrementTop 在 VBA 中移动图片后,我想在 openoffice.org BASIC 代码中移动图片。在使用这些关键字“move picture”和“openoffice.org”或“open BASIC”或“OOo BASIC”搜索互联网后,我没有找到答案。

我找到了如何在 Java、c++、android 中移动图片,但在 OpenOffice.org BASIC 中没有,我通过这些指南阅读了 https://wiki.openoffice.org/wiki/Documentation/BASIC_Guide http://www.pitonyak。 org/OOME_3_0.pdf 我也试图通过 LIBRE OFFICE 找到答案,但没有成功。我尝试录制宏,插入图片,用鼠标移动并停止宏。查看代码时,我的问题的答案将我带到调度程序和 UNO 方法之一,我相信这与这些关键字有关: com.sun.star.awt.UnoControlImageControlModel 服务 com.sun 中的属性.star.drawing.GraphicObjectShape BorderBottom BorderLeft BorderRight BorderTop oPoint = oShape.Position getPosition() setPosition(Point) 但我找不到明确的答案,我不知道如何将它们组合起来制作图像(或者它可以是插入的形状也)移动。

谁能指导我如何找到答案?

4

1 回答 1

0

首先:https ://wiki.openoffice.org/wiki/Extensions_development_basic是一个很好的起点。特别是 XRAY 工具非常有用。

以下代码更改选定图像在 Calc 工作表上的位置:

Sub Test

 dim aNewPosition as new com.sun.star.awt.Point

 oDoc = thisComponent
 oSelection = oDoc.CurrentSelection(0)

 if oSelection.supportsService("com.sun.star.drawing.Shape") then
  aPosition = oSelection.Position
  x = aPosition.X
  y = aPosition.Y
  aNewPosition.X = x + 100
  aNewPosition.Y = y + 100
  oSelection.setPosition(aNewPosition)
 endif

End Sub

问候

阿克塞尔

于 2014-08-07T15:43:27.470 回答