mein Office wurde von Version 2007 auf 2013 aktualisiert und seitdem funktioniert ein wichtiges Makro nicht mehr wie es sollte und meine VBA-Kenntnisse reichen nicht aus, um eine funktionale Lösung zu finden.
Ziel der Prozedur ist es, Diagramme, die nach und nach in Excel erstellt werden, automatisch in eine Powerpoint-Präsentation einzulesen. Ein vorher gelaufenes Makro öffnet bereits die Präsentation. An der Stelle, an der nun die Diagramme nach PP überführt werden sollten, taucht ein Fehler auf. Hier zunächst mal der Code der Prozedur (s ist die Foliennummer die aus der Erstellungsschleife kommt):
Public Sub Diagramm_einfügen(s)
Dim ppApp As PowerPoint.Application
Dim ppSlide As PowerPoint.Slide
Dim myChart As Excel.ChartObject
Set ppApp = GetObject(, "PowerPoint.Application")
Set ppSlide = ppApp.ActivePresentation.Slides.Add(s, ppLayoutBlank)
ppApp.ActivePresentation.Slides(s).Select
ppSlide.Shapes.Paste.Select
With ppApp.ActiveWindow.Selection.ShapeRange
.Top = 60
.Left = 0
End With
AppActivate ("Microsoft PowerPoint")
Set ppSlide = Nothing
Set ppApp = Nothing
End Sub
Wenn ich das nun laufen lasse, taucht bei der Zeile "AppActivate ("Microsoft PowerPoint")" ein Laufzeitfehler 5 "Ungültiger Prozeduraufruf oder ungültiges Argument" auf. Ich habe schon rausgefunden, dass das wohl am Eintrag "Microsoft" liegt, doch wenn ich den wegnehme, dann hängt sich PowerPoint stattdessen einfach auf.Merkwürdigerweise ist mir aufgefallen, dass das Makro, wenn ich irgendwo im Code darüber eine Msgbox einfüge, die ich vom Excel aus wegklicken muss, einwandfrei funktioniert, allerdings werden insgesamt über 150 Diagramme erstellt und da jedesmal eine Msgbox wegzuklicken ist nicht besonders hilfreich.
Vielleicht kann mir ja jemand auf die Schnelle helfen und sagen, woran das liegt? Unter Office 2007 hat alles einwandfrei funktioniert.
Danke und Grüße
Jörg