0
リストの要素を1つのスライドに追加したいと思います。私のコードは次のようになります:リストの要素をスライドに追加する
Sub Inhaltsverzeichnis_generator()
Set titels = New Dictionary
Set slideNr = New Collection
Dim sld As Slide
Dim inhaltsverzeichnis_Slide As Slide
Dim inhaltsverzeichnis_Shape_Titel As Shape
Dim inhaltsverzeichnis_Shape_Text As Shape
Set inhaltsverzeichnis_Slide = Application.ActivePresentation.Slides.Add(2, ppLayoutText)
Set inhaltsverzeichnis_Shape_Titel = inhaltsverzeichnis_Slide.Shapes.AddTextbox(msoTextOrientationHorizontal, 30, 30, 650, 140)
With inhaltsverzeichnis_Shape_Titel.TextFrame.TextRange
.Font.Name = "Arial"
.Font.Size = 35
.Text = "Introduction"
.Lines.ParagraphFormat.SpaceWithin = 1.5
End With
For Each sld In ActivePresentation.Slides
If sld.Shapes.HasTitle Then
'Debug.Print sld.SlideIndex & ": " & sld.Shapes.Title.TextFrame.TextRange
titels.Add (sld.Shapes.title.TextFrame.TextRange.Text)
slideNr.Add (sld.SlideIndex)
End If
Next
Set inhaltsverzeichnis_Shape_Text = inhaltsverzeichnis_Slide.Shapes.AddTextbox(msoTextOrientationHorizontal, 30, 110, 650, 140)
For Each title In titels
With inhaltsverzeichnis_Shape_Text.TextFrame.TextRange
.Font.Name = "Arial"
.Font.Size = 10
.Text = vbNewLine & title
End With
Next
End Sub
私の問題は、リストの最後の要素だけが表示されることです。他の要素が上書きされているようです。
.Text = vbNewLine & title
ループを通るたびに、あなたはタイトルの現在の値には.textを設定している、既存のテキストにタイトルの現在の値を追加していない:
おかげに変更して、それは私の問題を解決しました。 – guguli