Создание Powerpoint с графиками из Access
-
22-07-2019 - |
Вопрос
Я пытаюсь программно создать PowerPoint из графиков в Access. В идеале, когда графики переходят в PowerPoint, они становятся статичными изображениями, а не графиками, все еще связанными с данными доступа.
Я пробовал такие процедуры, как:
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
И я получаю сообщение об ошибке, такое как: метод вставки не выполнен.
Есть ли лучший подход? И можно ли заставить его стать статичным изображением?
Спасибо.
Решение
Хорошо, я нашел способ сделать это. Мне все еще интересно, есть ли у кого-то более элегантный способ, но для всех, кто сталкивается с подобной проблемой:
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
Другие советы
Да, это именно та техника, которую я использую - и я потратил дни на поиски решений в Интернете. Это не очень элегантно, но работает, и приятно то, что вы получаете объект MS Graph в Powerpoint, чтобы пользователи могли легко применять свои собственные стили, шаблоны и т. Д.