0
Я пытаюсь выяснить, есть ли в моем представлении определенный пользовательский макет. Я хочу использовать это для создания слайда с TOC, который отображает слайды с этим конкретным макетом.Найти slidelayout в PowerPoint
После некоторых поисков и попыток я получил это далеко, но она ликвидирует на ниже жирным пункта, любые предложения:
Sub ShowSlideLayouts()
Dim oSlide As Slide
Dim idSlide As String
Dim oLayoutName As String
Dim sFileName As String
Dim iFileNum As String
sFileName = "C:\temp\PowerPointLayouts.TXT"
iFileNum = FreeFile()
Open sFileName For Output As iFileNum
For Each oSlide In ActivePresentation.Slides
idSlide = ActivePresentation.Slides.***SlideID*** <-- wrong method/member
'Print #iFileNum, oSlide.Layout
Print #iFileNum, ActivePresentation.Slides(idSlide).CustomLayout.Name
'Print #iFileNum, ActivePresentation.Slides.getAttribute("layout")
'For Each oLayoutName In ActivePresentation.Slides().CustomLayouts.Name
'MsgBox ActivePresentation.Slides(idSlide).CustomLayout.Name
'Print #iFileNum, oLayoutName.Id & vbTab & oLayoutName.Caption
' Next
Next
Close iFileNum
End Sub
Спасибо за обновление, работает.
'iFileNum = FreeFile() Открыть sFileName для вывода Как iFileNum При х = 1 К ActivePresentation.Slides.Count С ActivePresentation печати #iFileNum, .Slides (х) .CustomLayout.Name & vbTab & .Slides (х) .CustomLayout.Index Конец Следующий Закрыть iFileNum ' –
Извините за неправильное форматирование, попробовал, но теперь система дает мне 5-минутное предупреждение. –
Чтобы быть уверенным, вы имеете в виду, что код работает, но SO не позволит вам переформатировать. Другими словами, все нормально, не так ли? –