Determine "active" ActiveX control - vba

Using VBA, how can I determine the ActiveX control currently selected in a Word document while in Design Mode? That would be the control for which the properties are offered in the context menu.

It isn't possible. While a control is selected Word is in Design Mode and code can't execute. When not in design mode no control is selected.

Related

VSTO Addin - Own button type like "ShapeWidth" and "ShapeHeight"

I am currently working on an PowerPoint Addin and I am currently finishing the Ribbon. I'd like to create a control to change the size of objects that looks similar to the inbuild button "ShapeWidth" and "ShapeHeight":
However, I couldn't find the correct control type and hence I built the below by myself using an editbox and buttons. Although it's working I find the other style way cleaner but I haven't found the correct type.
Not all Ribbon X (Office Fluent UI) control types that Microsoft uses in its Office applications are made available to third-party developers. This, I'm afraid, falls into that category.
You should probably be able to get the image, at least, by specifying the idMso for the built-in control.

MS Excel VBA Forms - Hide Control

I am using MS Excel VBA forms.
On my form, there is a drop down list and based on the selection changed in dropdown, I want to hide and show controls.
I am able to hide the control by setting visible to true on control, but they still occupy space on the form.
Is there any way to collapse control while hiding controls on VBA forms (somewhat similar to WPF visibility = collapse)
Do let me know if you need any other information.

Display controls in Designer VB.Net 2013

I have a set of controls which are added dynamically to a panel. The number of controls depends on which tab a user selects from TabPage control, which is embedded in a form.
At the moment, the controls don't appear in Designer, but appear during execution.
I managed to display controls for other forms which are not dynamic by moving the non-design code to the vb file, but how can I display the other ones?
The only answer that I know of is to add your code in the .Designer.vb file of the Form.
BUT! I strongly advise you to avoid that if you are not sure how it works! Custom code in the .Designer. files can break your form design and project with possible random crashes.
Also, your code can be changed and removed by the Visual Studio designer:
Custom code in designer.vb file goes away when making edits in design mode
Instead, you can make the panels into custom user controls and add those to the tabs.

Menustrip Style Custom Designer in VB .NET

I am trying to create a user control and custom designer. The perfect example of what I am trying to achieve in design time is how the menuStrip allows you to enter the text of the item being added.
This tells me it is possible, but I do not know if they are just drawing a box/cursor and just handling the key events individually or if they are using a textBox control in the designer somehow.
Is there a way to use controls in the designer during design time?

Word Add-in - find if dialog has focus?

I am writing a word add-in in VB .NET (using Add-in Express, but I don't think that's relevant).
I have created shortcuts, but I only want them to take effect if the document itself is in focus, not a dialog - for example, "Find and replace" or any other.
How do I determine if a dialog has focus?
The "Selection" property of the application points to the selection in the document, even if a dialog is currently selected. I can't find any "HasFocus"-equivalent property anywhere either. I'm running out of ideas :o)
Thanks!
This workaround worked for me:
My add-in keeps a reference to the handle of the most recently activated Word window, by using the GetActiveWindow API during the WindowActivate event of the Word application. This is necessary since, up until Office 2013, the Window object does not expose a handle property.
When a shortcut is triggered, I compare that to the handle of the currently active window, using the same API. If they don't match, I simply don't proceed :o)