Forum Discussion
cindix
Nov 04, 2023Copper Contributor
Selecting a shape and changing its attributes
Hi! I'm looking for a way to, when selecting a text box/shape, be able to just apply a macro to format it, to a specific background color, with no border, and some basic shadow. I can't seem to ...
- Nov 05, 2023
Here is an example:
.
Sub ShapeSelectedFormat() ' ' Charles Kenyon 4 November 2023 ' ' See https://learn.microsoft.com/en-us/office/vba/api/word.shape ' With Selection.ShapeRange(1) .Fill.ForeColor.ObjectThemeColor = wdThemeColorAccent2 .AutoShapeType = msoShapeOval End With End Sub
Here is the support page on the Shape Object.
https://learn.microsoft.com/en-us/office/vba/api/word.shape
You can choose the attributes you want to change within the With structure. They are listed in the support article.
You could attach your macro to a keyboard shortcut and/or a QAT button. Those should be stored in the same template that holds your macro.
- Assigning Keyboard Shortcuts in Microsoft Word 2007-2021 (365)
- Modifying the Quick Access Toolbar (QAT) in Microsoft Word
Word has two Shape collections, Shapes and InLineShapes. I am not sure this will work with both but you are welcome to try it.
Charles_Kenyon
Nov 04, 2023Bronze Contributor
Why not simply create a text box formatted the way you want and add it to your Text Boxes Gallery?
- cindixNov 04, 2023Copper ContributorThat would only work for inserting a new text box. I want to be able to format an existing one.
- Charles_KenyonNov 04, 2023Bronze ContributorTry selecting a text box, recording a macro, and using that macro.
- cindixNov 04, 2023Copper ContributorThat was the first thing I tried. The resultant code selects the shape by its name, so it does not work in any other box, unless it has the same name.