Balloons remember their standard style from the moment of individual placement
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report
As the title states, a balloon seems to 'remember' the active style from the moment it is placed. This is weird and i cannot find the property in which this is stored.
To make it more complicated, it's not even the balloon style that is 'remembered', but the Standard Style that was active at placement. And if that Standard Style (wich no longer needs to be active) is changed,
My case, an existing drawing, some styles have changed so i updated all styles from the style library.
So first, with Standard_1 active a balloon is placed.
Then, with Standard_2 active a second balloon is placed.
Then with either (or a third) standard activated, both balloons are selected and are set to By Standard as following:
The result is (as is visible in the above image) that both balloons revert to their styles as they where placed.
And if Standard_2 is changed after the fact, the balloon style changes accordingly.
I can fix all balloons with the VBA code below, but when i select any balloon and set it to By Standard as before, it changes back to it's original style.
So at last my question, where is this property stored? I guess it must be somewhere in the Balloon object, but i can't find it.
Sub FixBalloonStyle()
'drawing assumed
Dim iDoc As DrawingDocument
Set iDoc = ThisApplication.ActiveDocument
'find active style
Dim balloonStyle As Style
Set balloonStyle = iDoc.StylesManager.ActiveStandardStyle.ActiveObjectDefaults.balloonStyle
'cycle through sheets and balloons
Dim oSheet As sheet
For Each oSheet In iDoc.Sheets
Dim oBalloon As Balloon
For Each oBalloon In oSheet.Balloons
'force balloon style as per settings
oBalloon.Style = balloonStyle
Next oBalloon
Next oSheet
End Sub
Balloon object: