How to Convert Selected Lines to Custom Bullets using Word VBA Macro
Question details
The user needs a Word VBA macro to apply a custom paragraph style and insert a specific bullet character before selected lines to bypass compatibility issues with an external platform.

- Product
- Word
- Device & OS
- not provided
- Scenario
- Preparing text for a target content platform that does not parse or support standard Word bulleted lists.
- Observed behavior
- The user wants to automate inserting a hardcoded custom unicode symbol and applying specific formatting to selected text, rather than using the default Word bullet feature.
Ensure you have the Developer tab enabled in Word to access the VBA editor, and verify the exact names of the custom style and font you intend to use in the script.
Create a VBA Macro to Insert Hardcoded Bullets
Use a custom VBA script to iterate over selected paragraphs, apply your desired paragraph style, and insert a unicode symbol at the beginning of each line.
This method is ideal when standard Word bullets do not export correctly to external platforms. The script iterates through the selected text, styling each paragraph and inserting a unicode character so the bullet acts as plain text.
Use the following VBA script: Sub CreateCustomBulletList() Dim paragraphItem As Paragraph Dim selectedRange As Range Set selectedRange = Selection.Range For Each paragraphItem In selectedRange.Paragraphs paragraphItem.Range.Select Selection.Style = ActiveDocument.Styles("dl_abb_body_listtext") Selection.Collapse wdCollapseStart Selection.InsertSymbol Font:="ABBvoice", CharacterNumber:=8226, Unicode:=True Selection.TypeText Text:=vbTab Next paragraphItem selectedRange.Select End Sub
Press ALT + F11 on your keyboard to launch the Microsoft Visual Basic for Applications window.
In the Project Explorer pane on the left, right-click your document name, select 'Insert', and choose 'Module' from the dropdown menu.
Copy the provided VBA script and paste it into the blank code window.
Modify the script by changing "dl_abb_body_listtext" to your preferred Word style and "ABBvoice" to the specific font containing your desired bullet symbol. Update the CharacterNumber if needed.
Close the VBA editor. Highlight the paragraphs you want to format in your document, press ALT + F8 to open the Macros dialog, select 'CreateCustomBulletList', and click 'Run'.

Try WPS Office for Seamless Document Formatting
If you frequently struggle with complex VBA macros and formatting compatibility issues in Microsoft Word, consider switching to WPS Office. It provides a lightweight, highly compatible, and user-friendly alternative for managing your documents.

Frequently Asked Questions
Why do standard Word bullets fail on some external content platforms?
Standard Word bullets use special internal list formatting and hidden characters that many basic text editors or web platforms cannot parse. Inserting a hardcoded unicode symbol ensures the bullet is treated as regular text during copy-pasting or exporting.
How do I find the correct character number for a specific symbol in VBA?
You can find the character number by navigating to Insert > Symbol in your document, selecting the desired character, and noting its Character Code and font details at the bottom of the dialog box.
Can I assign a keyboard shortcut to this VBA macro?
Yes. Go to File > Options > Customize Ribbon, click 'Customize' next to Keyboard shortcuts, select 'Macros' from the Categories list, choose your macro, and assign your preferred key combination.
What does the Selection.Collapse command do in this macro?
The Selection.Collapse wdCollapseStart command shrinks the current text selection to just its starting point. In this macro, it moves the cursor to the very beginning of the paragraph so the bullet symbol and tab are inserted directly before the text.




