Вопрос

Если у меня есть .ppt слайды, из которых я хочу извлечь информацию, и я настраиваю шаблон для всех этих слайдов, которые используются разными людьми в организации, и я знаю все "имена" для каждого объекта текстового поля,

могу ли я использовать какой-нибудь vb для извлечения этой информации из .ppt проникает в базу данных Access?

Я знаю, как воспользоваться формой доступа и создать презентацию ppt с введенной информацией таким же образом, только в обратном порядке.итак, я предполагаю, что если я настрою эти слайды ppt и назову все текстовые поля так, как я хочу их назвать, то я смогу сделать это в обратном направлении, верно?

Это было полезно?

Решение

Да, вы можете сделать обратное и получить доступ к чтению слайда PowerPoint.Я создал презентацию PowerPoint 2007 с двумя слайдами: титульным и содержательным.Внутри пустой базы данных access 2007 я добавил модуль кода со следующим тестом.Вам также нужно будет добавить ссылку на объект PowerPoint в проекте Access VBA.

Public Sub ImportPowerPoint()
    Dim app As PowerPoint.Application
    Dim pres As PowerPoint.Presentation
    Dim ps As PowerPoint.Presentations
    Set app = New PowerPoint.Application
    app.Activate
    Set pres = app.Presentations.Open("C:\Temp\title slide.pptx")
    Debug.Print pres.Slides(1).Shapes(1).Name & " " & pres.Slides(1).Shapes(1).TextEffect.Text
    Debug.Print pres.Slides(1).Shapes(2).Name & " " & pres.Slides(1).Shapes(2).TextEffect.Text
    Debug.Print pres.Slides(2).Shapes(1).Name & " " & pres.Slides(2).Shapes(1).TextEffect.Text
    Debug.Print pres.Slides(2).Shapes(2).Name & " " & pres.Slides(2).Shapes(2).TextEffect.Text
End Sub

текст, который вам нужен, содержится внутри объекта TextEffect, связанного с объектом shape.

надеюсь, это поможет (извините, у меня не было office 2003, но должно быть очень похоже)

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top