Итак, что я хотел был способом однозначно идентифицировать РРТ слайд через VBA. Проблема в том, что мне все еще нужно определить этот слайд, если он скопирован в другой документ PPT.
Итак, что я нашел, что я должен был сделать:
- создать текстовое поле на каждой странице и жестко закодировать текст, чтобы быть что-то вроде «Slide: обложка» или «Slide: QuarterlyResults», и т. д.
- петля через каждый слайд
- найти «Слайд» и снять его, чтобы получить заголовок страницы. Таким образом, если слайд скопирован в другой документ PPT, имя будет с ним.
- Создайте словарь, который использует Slide.SlideID как ключ и название страницы в качестве значения.
Затем, что я делаю, прокручиваем слайды, получаем SlideID, используем словарь для получения заголовка страницы и используем оператор Select для сопоставления с правильным методом обработки слайда.
Да, я знаю ... это icky hack, но это единственный способ, которым я мог бы это сделать.
Спасибо за помощь,
Carlo.
Я не понимаю, что вы хотите сделать ... найдите SLIDE с определенным именем или LAYOUT с определенным именем или найдите имя LAYOUT текущего слайда. ActivePresentation.Slides («Carlo») вернет ссылку на слайд под названием «Carlo» ... если он есть. –
Я хочу дать каждому слайду уникальное имя (через интерфейс PPT), а затем найти слайд с использованием этого имени, используя скрипт, который запускается в Excel. Для каждого слайда есть параметр UniqueID, но если мы скопируем слайд из одной презентации в другую, мне все равно нужно определить слайд «XYZ» как ту же вещь, но я сомневаюсь, что значение UniqueID будет перемещаться со слайдом. – Carlo