2009-06-24 10 views
1

Ich versuche, ein PowerPoint aus den Grafiken in Access programmgesteuert zu erstellen. Im Idealfall werden statische Grafiken und keine mit den Zugriffsdaten verknüpften Grafiken angezeigt, wenn die Diagramme in PowerPoint verschoben werden.Erstellen eines PowerPoint mit Grafiken aus Access

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 werden, ein statisches Bild zu werden?

Vielen Dank.

Antwort

4

Ok, ich habe einen Weg gefunden, 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 
+1

anwenden können Sie Ihre eigene Antwort mit dem Häkchen akzeptieren. –

+0

Danke, habe das nicht bemerkt. – TimothyAWiseman

2

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 das schöne ist, dass Sie ein MS Graph-Objekt in Powerpoint erhalten, so dass Benutzer einfach ihr eigenes Styling, Vorlagen usw.