슬라이드를 사용하면 모든 슬라이드 레이아웃 자리 표시자가 PowerPoint에서 사용 중인지 어떻게 알 수 있습니까?자리 표시자를 결정하는 방법은 사용 중입니까?
그림을 추가 할 때 자리 표시자가 자동으로 사용되는 것을 방지 할 수 있습니까?
슬라이드를 사용하면 모든 슬라이드 레이아웃 자리 표시자가 PowerPoint에서 사용 중인지 어떻게 알 수 있습니까?자리 표시자를 결정하는 방법은 사용 중입니까?
그림을 추가 할 때 자리 표시자가 자동으로 사용되는 것을 방지 할 수 있습니까?
슬라이드의 모든 자리 표시자를 반복하고 각 유형을 결정한 다음 예상 한 형식으로 채워져 있는지 확인해야합니다. 18 PpPlaceholderType
이 있으므로 모두 설정해야하지만 다음은 자리 표시자가 사용 중인지 확인하기 위해 수행 할 수있는 샘플입니다.
Sub CheckPlaceholders()
Dim ap As Presentation: Set ap = ActivePresentation
Dim sl As Slide: Set sl = ap.Slides(2)
Dim shs As Shapes: Set shs = sl.Shapes
Dim ph As Placeholders: Set ph = shs.Placeholders
Dim p As Shape
For Each p In ph
Select Case p.Type
Case PpPlaceholderType.ppPlaceholderHeader
If p.TextFrame.HasText Then
Debug.Print "This Placeholder is in use"
End If
Case PpPlaceholderType.ppPlaceholderChart
If p.HasChart Then
Debug.Print "This Placeholder is in use"
End If
End Select
Next
End Sub
가이 자리에 도착이, 말, 그림을 삽입하지 않으려면, 내가 찾은 유일한 방법은 그들 중 하나가 될 때까지 사진을 추가하는 루프를 만들 수있는 자리를 벗어난 후 삭제 이미 삽입 된 것.
Sub AddPicture()
Dim pic As String
pic = "C:\Users\Me\Desktop\beigeplum.jpg"
Dim ap As Presentation: Set ap = ActivePresentation
Dim sl As Slide: Set sl = ap.Slides(1)
Dim sh As Shape
Do
Set sh = sl.Shapes.AddPicture(pic, msoFalse, msoTrue, 1, 1)
sh.Tags.Add "MYPICTURE", 0
Loop Until sh.Type <> 14
Dim p As Shape
For Each p In sl.Shapes
If p.Type = 14 Then
If p.Tags.count > 0 Then
If p.Tags.Name(1) = "MYPICTURE" Then
p.Delete
End If
End If
End If
Next
End Sub
더 우아한 해결책 자리 표시 자 항목을 포함 여부, 그리고 모든 종류의 일반적인이다 있는지 확인합니다 : 아무것도 내부에 배치되어 있지 않은 경우
if (selectedSlide.Shapes.Placeholders[i].PlaceholderFormat.ContainedType != Microsoft.Office.Core.MsoShapeType.msoAutoShape)
자리 표시 ContainedType msoAutoShape이다 자리 표시 자. 예를 들어 이미지를 자리 표시 자에 삽입하면 유형이 항목 유형 (이 경우 msoPicture)으로 바뀝니다.
Office는 첫 번째 사용 가능한 자리 표시 자 (마스터 파일에서 첫 번째로 추가됨)에 항목을 자동으로 추가하거나 이미지의 경우 ppPlaceholderPicture가 우선 순위를 지정합니다.
이 질문에 답하는 부분은 제가 사무실을 강요하는 방법에 더 관심이있는 시점이었습니다. 자리 표시 자에 그림을 추가하십시오. – Dudi
내용이있는 경우에도 때때로 도형이 변경 될 수 있습니다. : - / – BrainSlugs83
나는이 해결책을 알고 있었고, 나는 더 우아한 것을 찾고 있었다. 자리 표시 자의 자동 사용은 레이아웃이있는 슬라이드에 객체를 추가하려고합니다. ppLayoutObject using activeSlide.Shapes.AddPicture (...); – Dudi
예, PPT2007 이후 모든 것이 자리 표시 자와 조금 이상해졌습니다. 다른 게시물에서 언급 한 솔루션이이를 수행하는 한 가지 방법이지만, 맞습니다. 예전의 슬 라이더 아웃이 다시 적용될 때 그 반대가 있습니다. 내가 찾은 유일한 방법은 일종의 해킹이다. 위의 업데이트를 참조하십시오. –
자리 표시 자 사용법에 관해서는 이것에 관해서는 꽤 우아합니다. ( –