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.

War es hilfreich?

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.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top