title: Refresh built-in Ribbon button after Options.DefaultHighlightColorIndex change and avoid exiting "Text Highlight Color"
body: <p><strong>What I'm trying to get working:</strong></p>
  
  <ul>
  <li>activate the <em>Text Highlight Color</em> command via a keybinding (not the problem)</li>
  <li>cycle through 5 of the Default <em>Text Highlight Color</em>s via the same keybinding (or just highlighting the selection, depending on selection.type checked outside the function below)
  
  <ul>
  <li>showing the current Color in the corresponding button (built-in ribbon)</li>
  </ul></li>
  </ul>
  
  <p><strong>Where I'm stuck:</strong></p>
  
  <pre><code>Sub cycleThroughSomeDefaultHighlightColorIndexOptions()
  Dim zeNewColor As Long
  
  Select Case Options.DefaultHighlightColorIndex
         Case wdYellow:      zeNewColor = wdBrightGreen
         Case wdBrightGreen: zeNewColor = wdTurquoise
         Case wdTurquoise:   zeNewColor = wdPink
         Case wdBlue:        zeNewColor = wdRed
         Case wdRed:         zeNewColor = wdYellow
         Case Else:          zeNewColor = wdYellow
  End Select
  Application.Options.DefaultHighlightColorIndex = zeNewColor
  
  End Sub
  </code></pre>
  
  <p>doesn't throw any error, does change the Application.Options.DefaultHighlightColorIndex,</p>
  
  <p>but doesn't update/show the newly set color on the corresponding (built-in ribbon home tab) button</p>
  
  <p>and just exits out of the Text Highlight Color mode.</p>
  
  <ol>
  <li><p>Is there a possibility to keep it going?</p></li>
  <li><p>If it needs to be started again: is there a better way than
  dirty/interfering <em>sendKeys</em> to call commands like <em>Text Highlight
  Color</em>?</p></li>
  </ol>
  
  <p><strong>Update 2019-04-03:</strong>
  In the mean time i found where the <code>IRibbonUI.InvalidateControlMso ControlID</code>s are listed: <a href="https://www.microsoft.com/en-us/download/confirmation.aspx?id=50745" rel="nofollow noreferrer">Office 2016 Help Files: Office Fluent User Interface Control Identifiers</a></p>
  
  <p>So after creating a hidden custom ribbon and getting a handle for it on onLoad i could <code>zeWdRibbon.InvalidateControlMso "TextHighlightColorPicker"</code> without any raised error.</p>
  
  <p>But it also doesn't change anything.</p>
  
  <p>Is it possible, that Microsoft just getImages the default imageMso "TextHighlightColorPicker" (yellow) without checking for Application.Options.DefaultHighlightColorIndex , or am I missing something? </p>