Здравствуйте. У меня следующая задача: нужно средствами VB окрыть презентацию PowerPoint и во всех графиках изменить данные, которые находяться в другом Excel файле.
Вот есть код:
Dim oPPTApp As PowerPoint.Application
Dim oPPTShape As PowerPoint.Shape
Dim oPPTFile As PowerPoint.Presentation
Public oGraph As Graph.Chart
Dim SlideNum As Integer
Sub PPGraphMacro()
Dim strPresPath As String, strExcelFilePath As String, strNewPresPath As String
strPresPath = "C:\Testing.pptx"
strNewPresPath = "C:\Temp.pptx"
Set oPPTApp = CreateObject("PowerPoint.Application")
oPPTApp.Visible = msoTrue
Set oPPTFile = oPPTApp.Presentations.Open(strPresPath)
SlideNum = 1
oPPTFile.Slides(SlideNum).Select
Set oPPTShape = oPPTFile.Slides(SlideNum).Shapes("Chart 1")
Set oGraph = oPPTShape.OLEFormat.Object
....
End Sub
При выполнении
Set oGraph = oPPTShape.OLEFormat.Object
вылазит ошибка:
Run-time error '-2147188160 (80048240)':
OLEFormat (unknown member): Invelid request. This property only applies to OLE objects
В чем проблема?
Референсы на 'Microsoft Powerpoint Object Library', 'Microsoft Graph Object Library' добавил. Использую 2007 пакет офиса