none
Steigung einer Geraden in Powerpoint RRS feed

  • Frage

  • Sorry, war vorhin in der falschen Forumkategorie. Deshalb hier noch mal die Frage:

    Set m = ActivePresentation.Slides(5)
    With m.Shapes(3)
     le = .Left: tp = .Top: wi = .Width: he = .Height
     bex = le: bey = tp + he: enx = le + wi: eny = tp
     bex2 = le: bey2 = tp + he: enx2 = le + 0.25 * wi: eny2 = tp + 0.75 * he
    End With

    Wenn ich mit diesem Codestück versuche, die Steigung einer Geraden zu berechnen, die auf Folie 5 als Form Nr. 3 vorliegt, so funktioniert das deswegen nicht, weil die Komponenten .Left, .Top, .Width und .Height nur den rechteckigen Rahmen definieren, in dem die Gerade liegt. Diese Information allein reicht nicht, denn wenn die Gerade an der Horizontalen, die durch den Mittelpunkt der Geraden geht, gespiegelt ist, liefern diese vier Komponenten denselben Rahmen, aber die Steigung wäre dann eine andere. Man kann zwar den Start- und Endpunkt der Geraden beim Erzeugen mit Addline angeben und diese Koordinaten speichern; aber was ist, wenn die Gerade von Hand gezeichnet wurde oder durch einen Kopiervorgang in die Folie eingefügt wurde? Dann stehen die Koordinaten von Start- und Endpunkt nicht zur Verfügung und eine Methode, sie "nachträglich" als Information zu erhalten (ähnlich wie .Left usw.) gibt es anscheinend nicht.
    Wer weiß bitte Rat? Viele Grüße, Michl

    Dienstag, 28. August 2018 11:00

Alle Antworten

  • Die Sache ist umso seltsamer, weil die Information, welches der Start- und welches der Endpunkt einer Geraden ist, im System ja vorhanden ist, wie dieses Beispiel mit einer vorher von Hand gezeichneten Linie belegt:

    Set m = ActivePresentation.Slides(6)
    With m.Shapes(1).Line
        .BeginArrowheadLength = msoArrowheadShort
        .BeginArrowheadStyle = msoArrowheadOval
        .BeginArrowheadWidth = msoArrowheadNarrow
        .EndArrowheadLength = msoArrowheadLong
        .EndArrowheadStyle = msoArrowheadTriangle
        .EndArrowheadWidth = msoArrowheadWide
    End With

    Resultat: Der Endpunkt der Geraden erhält eine Pfeilspitze. Also müsste es auch eine Eigenschaft geben, die die Lage des Endpunkts zurückgibt. Weiß jemand, wie das geht bzw. wie die Eigenschaft heißt? Bin dankbar für alle Tipps. Gruß, Michl

    Mittwoch, 29. August 2018 07:23
  • Hallo "Michl",

    ich habe das hier http://www.pptalchemy.co.uk/vba_Line_Direction.html gefunden.

    Hoffe es hilft.

    Gruß

    Donnerstag, 30. August 2018 08:35