使用Shape.IncrementLeft和Shape.IncrementTop在VBA中移动图片后,我想在openoffice.org BASIC代码中移动图片。 用这些关键词“移动图片”和“openoffice.org”或“打开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两种(点) 但我找不到一个明确的答案,我不知道如何将它们组合起来制作图像(或者也可以是插入的形状)来移动。
任何人都可以指导我如何找到答案吗?
答案 0 :(得分: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
问候
阿克塞尔