Wie man eine Schleife in PowerPoint-VBA?
Soweit ich weiß, der code unten wird eine Form aus dem aktiven Fenster, schubse ihn ein bisschen, Kopien der Folie und fügt diese direkt nach dem aktuellen, dann stellt sich die eingefügte Folie in einem aktiven Fenster, und schubsen es wieder:
Sub Test()
' Get the active presentation Dim oPresentation As Presentation Set oPresentation = ActivePresentation ' Get the first slide in the presentation Dim oSlide As Slide Set oSlide = oPresentation.Slides(1) ' Get the first shape on the slide Dim oShape As Shape Set oShape = oSlide.Shapes(1) ' Nudge the shape to the right oShape.Left = oShape.Left + 1 ' Copy the whole slide oSlide.Copy ' Paste the slide as a new slide at position 2 Dim oNewSlides As SlideRange Set oNewSlides = oPresentation.Slides.Paste(2) ' Get a reference to the slide we pasted Dim oNewSlide As Slide Set oNewSlide = oNewSlides(1) ' Get the first shape on the NEW slide Dim oNewShape As Shape Set oNewShape = oNewSlide.Shapes(1) ' Nudge the shape to the right oNewShape.Left = oNewShape.Left + 1
End Sub
Soweit ich es verstehen kann, um die Durchführung dieser code sollte ich haben, ein aktives Fenster geöffnet und es sollte mindestens eine Form in es. Bevor ich diesen code ausführen ich habe nur eine Folie angezeigt wird, nachdem der code ausgeführt wurde, habe ich zwei Folien: die ältere ist mit der Nummer 1 und der neuere ist Nummer 2.
Wenn ich diesen code ausführen noch einmal, bekomme ich drei Dias als Ergebnis: die älteste immer noch die Nummer 1, sondern die älteste mit Nummer 2, nicht Nummer 3.
Meine Frage ist wie kann ich es machen produzieren Folien, so dass die neueren Folien sind immer diejenigen, die mit einer größeren Ordnungszahl, d.h. jede neu erstellte Folie sollte die Letzte sein, die in der dia-Vorschau der sidebar (das niedrigste)?
Und auch, wie kann ich es machen das in einer Schleife? So dass ich nicht brauchen, um re-run dieser code wieder und wieder, aber machen Sie einfach eine Schleife mit einer vorgegebenen Anzahl der Schleife der Iterationen.
Ich denke, wenn sollte es eine Schleife, dann rutschen index sollte sich in einer variable, aber ich weiß nicht, wie es im PowerPoint-VBA.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich bin nicht sicher, ob Ihr code macht keinen Sinn. Es ist im wesentlichen:
schieben Sie
Warum bewegt Sie sich es zweimal, einmal im original und einmal auf der Kopie?
Unabhängig zu beantworten Ihre individuellen Fragen:
Einfügen, da die Letzte Folie, ersetzen
Mit
Schleife verwenden, so etwas wie dieses:
Diese nimmt die Letzte Folie, kopiert es, fügt die Kopie als neue Letzte Stupser, die erste Form auf der rechten Seite, nimmt neue Letzte Bild, kopiert es, fügt die Kopie als das Letzte, schubse die erste Form auf der rechten Seite, usw.... Sie tun dies 10-mal.