Erstellen einer Powerpoint mit Graphs von Access
-
22-07-2019 - |
Frage
Ich versuche, programmatisch eine Powerpoint von Graphen in Access zu erstellen. Idealerweise, wenn die Graphen über zu Powerpoint bewegen sie statische Bilder werden und nicht Graphen noch den Zugriff verknüpften Daten.
Ich habe versucht, Verfahren wie:
Private Sub Command1_click()
Dim pwrpnt as Object
Dim Presentation as Object
set pwrpnt = CreateObject("Powerpoint.Application")
pwrpnt.Activate
Set Presentation = pwrpnt.Presentation.Open("C:\test.ppt")
Me.Graph1.SetFocus
Runcommand acCmdcopy
Presentation.Slides(1).Shapes.Paste
set pwrpnt = Nothing
set Presentation = Nothing
End Sub
Und ich erhalte eine Fehlermeldung wie: Paste-Methode fehlgeschlagen
.Gibt es einen besseren Ansatz? Und kann es gezwungen sein, ein statisches Bild zu werden?
Danke.
Lösung
Ok, ich fand einen Weg, es zu tun. Ich bin immer noch interessiert, wenn jemand eine elegantere Art und Weise, aber für alle anderen mit einem ähnlichen Problem zu tun:
Private Sub Command1_click()
'Note: Sample only, in real code this should probably have something to save the
'PPT file and then close the powerpoint application, not to mention some error handling,
' and possibly some picture formatting, etc.
Dim pwrpnt as PowerPoint.Application
Dim Presntation as PowerPoint.Presentation
Me.Graph0.Action = acOLECopy
set pwrpnt = CreateObject("Powerpoint.Application")
pwrpnt.Activate
Set Presentation = pwrpnt.Presentations.Open("TemplateFile.ppt")
pwrpnt.ActiveWindow.ViewType = ppViewSlide
'This inserts it as a picture, just use .Paste to insert it as an actual chart.
pwrpnt.ActiveWindow.View.PasteSpecial ppPasteEnhancedMetafile
EndSub
Andere Tipps
Ja, das ist genau die Technik, die ich verwenden - und ich verbrachte Tage suchen nach Lösungen. Es ist nicht sehr elegant, aber es funktioniert und die schöne daran ist, dass Sie ein MS Graph-Objekt in Powerpoint erhalten, so dass Benutzer auf einfache Weise ihr eigenes Styling anwenden können, Vorlagen usw.