Gast376 0 Posted November 14, 2013 Report Share Posted November 14, 2013 Hallo zusammen, ich bin neu im Powershell-Umfeld, aber habe schon eine kleine Aufgabe für mich gefunden... leider stecke ich auch schon fest. :confused: Ziel: Ich möchte gerne alle Folien, außer einem gewissen Bereich (z.B. Folie 12-16), aus einer PowerPoint-Datei löschen. Mein Skript: Function DeleteNotNeededSlides { param ( [string]$strFileName, [int]$intNeededSlideFrom, [int]$intNeededSlideTo ) # Create PowerPoint object $comApplication = New-Object -ComObject Powerpoint.Application $comApplication.visible = [Microsoft.Office.Core.MsoTriState]::msoFalse # Open PowerPoint file $objPresentation = $comApplication.Presentations.Open($strFileName) # Delete slides $intSlidesSum = $objPresentation.Slides.Count for($intI = $intSlidesSum; $intI -ge $intSlideTo +1; $intI --) { $objPresentation.Slides.($intI).Delete } # Save and close $objPresentation.Save $objPresentation.Close # Quit PowerPoint object $comApplication.Quit $comApplication = $null } Problem: Das Skript läuft durch, aber die Folien sind noch drin. Ausgabe: OverloadedDefinitions ---------------------------- void Delete () void Delete () ... void Delete () void Save () void Close () void Quit() void _Application.Quit() Hat jemand eine Idee oder eine Lösung damit ich weiter komme!? Danke, Christian Quote Link to comment
mamamia 13 Posted November 16, 2013 Report Share Posted November 16, 2013 Servus Christian, ohne jetzt größere Tests zu machen, schließe die Funktionen mal mit () ab. for($intI = $intSlidesSum; $intI -ge $intSlideTo +1; $intI --) { $objPresentation.Slides.($intI).Delete() } Quote Link to comment
Gast376 0 Posted November 26, 2013 Author Report Share Posted November 26, 2013 Hi Mamamia, es lag tatsächlich an den fehlenden Klammern hinter dem ".Delete" Vielen Dank für deine Antwort! Quote Link to comment
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.