2009-06-24 7 views
1

J'essaye de créer par programme un PowerPoint à partir de graphiques dans Access. Idéalement, lorsque les graphiques se déplacent vers PowerPoint, ils deviennent des images statiques et non des graphiques toujours liés aux données d'accès.Création d'un PowerPoint avec des graphiques à partir d'Access

J'ai essayé des procédures telles que:

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 

et je reçois un message d'erreur tel que: Coller méthode a échoué.

Y a-t-il une meilleure approche? Et peut-il être forcé de devenir une image statique?

Merci.

Répondre

4

Ok, j'ai trouvé un moyen de le faire. Je suis toujours intéressé si quelqu'un a une façon plus élégante, mais pour toute personne traitant d'autre avec un problème similaire:

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

vous pouvez aller de l'avant et d'accepter votre propre réponse avec la coche. –

+0

Merci, je ne m'en suis pas rendu compte. – TimothyAWiseman

2

Eh oui, c'est exactement la technique que je l'utilise - et je passais des journées de recherche sur le web pour des solutions. Ce n'est pas très élégant mais cela fonctionne et la bonne chose est que vous obtenez un objet MS Graph dans Powerpoint afin que les utilisateurs peuvent facilement appliquer leur propre style, modèles etc

Questions connexes