I feel you did not ask your question in full context that matters to you.
It is simple to set AcadBlock (block definition) property "Explodable" to True/False in code, but it is not exactly the same as you set it in the AutoCAD's Block Editor, in terms of dynamic block.
When doing it in AutoCAD, with Block Editor, if you change "Allow Exploding" of the dynamic block definition to "Yes", in the Properties window, then all the dynamic block's references become explodable.
However, if you use code to change the block definition's Explodable property, like this:
Dim blk As AcadBlock
For Each blk In ThisDrawing.Blocks
If UCase(blk.Name) = "TESTBLOCK" Then
If Not blk.Explodable Then
blk.Explodable = True
End If
Exit For
End If
Next
Then, only the newly created block references to this dynamic block definition is explodable, but older block references are still remain unexplodable, that is because the real block definition for these block references are anonymous block definitions created by AutoCAD based on the original dynamic block definition when it was unexplodable.
So, if your real intention is to not only make the dynamic block definition to allow exploding, but also make existing references to the dynamic block definition explodable, you need go after each block reference to reach its anonymous block definition and set it explodable. The whole code would be something like:
Public Sub Test()
'' First change the dynamic block definition
Dim blk As AcadBlock
For Each blk In ThisDrawing.Blocks
If UCase(blk.Name) = "TESTBLOCK" Then
If Not blk.Explodable Then
blk.Explodable = True
End If
Exit For
End If
Next
'' then go after the block reference's anonymous block definition
Dim ent As AcadEntity
Dim bref As AcadBlockReference
For Each ent In ThisDrawing.ModelSpace
If TypeOf ent Is AcadBlockReference Then
Set bref = ent
If UCase(bref.EffectiveName) = "TESTBLOCK" Then
Set blk = ThisDrawing.Blocks(bref.Name)
blk.Explodable = True
End If
End If
Next
End Sub
HTH