2016-11-15 73 views
0

我有下面的代碼:如何初始化靜態非零長度的空數組?

Dim headerTextboxes(2) As Shape 
Dim currSlide As Slide 

Set currSlide = Application.ActiveWindow.View.Slide 
' Pseudocode 
' Set currSlide = [null, null, null] 

For i = 0 to 2 
    headerTextboxes(i) = currSlide.Shapes.AddTextbox(...) 
Next i 

,我發現了錯誤Object variable or With block variable not set。經過一番研究,我相信這是因爲沒有數組實際被分配到headerTextboxes

評論中的僞碼是我想要做的。它的正確實施是什麼?我可以在網上找到的所有東西都是用現有元素初始化一個零長度數組或一個靜態長度數組。

回答

0

您需要在設置對象的引用時使用Set關鍵字。由於headerTextboxes是一個Shape對象數組,因此每個元素都必須使用Set來爲Shape指定一個引用。

Dim headerTextboxes(2) As Shape 
Dim currSlide As Slide 

Set currSlide = Application.ActiveWindow.View.Slide 
' Pseudocode 
' Set currSlide = [null, null, null] 

For i = 0 To 2 
    Set headerTextboxes(i) = currSlide.Shapes.AddTextbox(...) 
Next i