habe folgendes kleine Makro geschrieben, um die Flächen von Polygonen in Draw Seiten zu berechnen. Leider kommt es zu einem Fehler, wenn sich andere Zeichenobjekte (außer Polygonen) in dem Dokument befinden. Also frage ich mich, wie ich bei dem jeweiligen Zeichenobjekt feststellen kann, ob es sich um ein Polygon-Objekt handelt.... Hat jemand einen Tipp ???
Hier der Code für die Polygonflächen:
Code: Alles auswählen
Sub Polygon_Flaeche_berechnen
Dim Flaeche as double
oDoc = thisComponent
oPage = oDoc.drawPages(0)
for n=0 to oPage.Count-1
oShape = oPage.getByIndex(n)
aArray1 = oShape.PolyPolygon
aPunkte = aArray1(0)
for i=0 to Ubound(aPunkte)-1
oPunkt1 = aPunkte(i)
if i<>Ubound(aPunkte) then
oPunkt2 = aPunkte(i+1)
else
oPunkt2 = aPunkte(Ubound(aPunkte))
end if
xDiff = (oPunkt2.X - oPunkt1.X)/1000
yDiff = (oPunkt2.Y + oPunkt1.Y)/1000
Flaeche(n) = Flaeche(n) + (xDiff*yDiff/2)
next
msgbox "(Nr. " + n + ") " +"''" + oShape.UINameSingular + "'': " + Format(Abs(Flaeche(n)), "###0.000") + " cm²",0,"Berechnung der Fläche eines Polygons"
next
End Sub

Gruss
sarotti