Как определить форму в Powerpoint с помощью VBA? - PullRequest
1 голос
/ 15 сентября 2011

Это простой и простой вопрос, но нет способа найти ответ или хороший учебник в Интернете.И, очевидно, нет способа найти его в справке Office.

Я использую макрос в VBA для создания Powerpoint.Код состоит в копировании слайда шаблона документа Powerpoint с присвоением значения Excelline определенной форме шаблона PPT.

Вопрос заключается в следующем: я понятия не имею, как определить форму, как в предыдущем коде:

PptDoc.Slides(iSlide).Shapes("URL").TextFrame.TextRange = VerbatimSheet.Cells(i, 2).Value

Как я могу определить форму "url"?В шаблоне или в VBA Макрос Excel?

Ответы [ 3 ]

2 голосов
/ 15 сентября 2011

Вы можете использовать индекс объекта, например

Dim shp as shape
Set shp=pptdoc.slides(islide).shapes(1)
shp.textframe.textrange= foo
1 голос
/ 15 сентября 2011

В шаблоне слайдов ppt присвойте своей фигуре имя «URL» - не так просто назвать фигуры в ppt, как в (например) xl, но это можно сделать.

Просто введите это в непосредственном окне редактора ppt VB (с выбранной формой) и нажмите enter:

ActiveWindow.Selection.shaperange(1).Name = "URL"

Вы можете проверить работоспособность, введя:

? ActiveWindow.Selection.shaperange(1).Name 'should get "URL"
0 голосов
/ 16 сентября 2011

Два ответа верны и очень помогают мне понять этот самый базовый шаг Это отличный урок для меня, спасибо

Первый код - это стильный способ решить проблему Он имеет преимущество определения по умолчанию имени для фигуры и привязки его непосредственно к значению, которое я назначаю внутри кода.

Второй - хороший способ помочь новичку в программировании, но он требует двух макросов. Один в Excel и один в ppt и позволяет изменить название фигуры вручную. Он имеет преимущество в том, что помогает визуализировать именно ту форму, которую вы используете, и вам нужно контролировать.

Большое спасибо вам обоим!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...