我attemping通過在Microsoft Word 2007中宏來訪問模板的BuildingBlockEntries
集合的成員因爲它是一個集合的時候沒有設置錯誤,我首先想到的一個For Each
循環會是最好的方式,以這樣的:對象變量或帶塊變量訪問BuildingBlockEntries集合的成員
For Each bBlock In NormalTemplate.BuildingBlockEntries
MessageBox.Show (bBlock.Name)
Next bBlock
然而這種嘗試通過錯誤:Object doesn't support property or method
。 所以,我想此方法,該方法建議here:
Templates.LoadBuildingBlocks
Dim iBB As Integer
iBB = NormalTemplate.BuildingBlockEntries.Count()
Dim bb As Word.BuildingBlock
Dim i As Integer
Dim objCounter As Object
If iBB > 0 Then
For i = 1 To iBB
objCounter = i
bb = NormalTemplate.BuildingBlockEntries.Item(objCounter)
MessageBox.Show (bb.Name)
Next
End If
然而,這導致在標題所示的錯誤:Object variable or With Block variable not set
。
我已經嘗試過只是使用整數變量作爲索引,i
具體而言,但現在有效。我怎樣才能達到預期的效果?我的嘗試有什麼問題?
謝謝你的幫助。
如果我爲bb使用'Set'關鍵字,它暴露了objCounter還需要'Set'調用,當我調用時仍然會導致類型不匹配錯誤:Set bb = NormalTemplate.BuildingBlockEntries.Item( objCounter)' 可能是因爲'BuildingBlockEntries.Item()'正在尋找一個整數作爲參數。但是,如果我刪除了'objCounter = i '並將調用的參數更改爲: 'Set bb = NormalTemplate.BuildingBlockEntries.Item(objCounter)'我得到了期望的效果。謝謝(你的)信息。仍然不清楚如何使用基本構建模塊來獲取模板,但這是一個不同的問題。 – Christian 2013-03-01 18:58:06