2016-05-25 4 views
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を設定している、既存のテキストにタイトルの現在の値を追加していない:

答えて

0

私は、これが問題だと思います。

.Text = .Text & vbNewLine & title 
+0

おかげに変更して、それは私の問題を解決しました。 – guguli

関連する問題