我在我的代碼中出現"Object variable or With block variable not set"
錯誤。 這是我在宏觀寫作方面的第一個破解。我有編程知識,但這對我來說是新的。vba:powerpoint宏:「變量未設置」
無論如何,我想要通過演示文稿,並且對於每個在備註部分有任何文本的頁面,我都想添加一個包含該文本的新幻燈片(在其後面)。
這裏是我的嘗試:
Sub SlideSort()
Dim curSlide As Slide
Dim newSld As Slide
Dim curPres As Presentation
Dim curShape As Shape
Dim i As Integer
For i = 1 To ActivePresentation.Slides.Count
curSlide = ActivePresentation.Slides(i)
For Each curShape In curSlide.NotesPage.Shapes
If curShape.Type = msoPlaceholder Then
If curShape.PlaceholderFormat.Type = ppPlaceholderBody Then
If curShape.TextFrame.TextRange <> "" Then
Set newSld = ActivePresentation.Slides.Add(Index:=i + 1, Layout:=ppLayoutText)
newSld.Shapes(2).TextFrame.TextRange = curShape.TextFrame.TextRange
i = i + 1
End If
End If
End If
Next curShape
Next i
End Sub
,讓錯誤的線路curSlide = ActivePresentation.Slides(I)
謝謝!出於好奇,有什麼更明智的方式去做我想做的事情? 我猜想宏這樣的計算效率並不是特別的本質。 – JoshDG 2013-02-26 19:56:34
也許結合使用'和'的嵌套'If's。 – 2013-02-26 19:58:29
此外,修正set命令後,我得到了一個新的錯誤:PlaceholderFormat(未知成員):失敗 對於此行:如果curShape.PlaceholderFormat.Type = ppPlaceholderBody然後 – JoshDG 2013-02-26 20:01:05