Why Use Speedy Reader?
In busy, text heavy Microsoft 365 documents, even confident readers can lose their place – especially when they’re working quickly, are tired, or facing dense blocks of text. This is a common challenge for neurodivergent users (including ADHD, dyslexia and autism), and it can also affect anyone experiencing attention fatigue or visual stress.
To reduce visual effort and make lines easier to track, the AptoLink Assistive Technology Training Team has created a simple, practical macro that applies “bold-leading” formatting. It’s designed to help people keep momentum when reading and reviewing documents, without changing the meaning of the text or forcing a new way of working.
This macro enhances on-screen readability by bolding the first few letters of each word — a technique known to help guide the eye more efficiently through text.
- Neurodivergent users (ADHD, dyslexia, autism)
- Readers with attention fatigue or visual stress
- Writers and proofreaders who need to maintain focus during long sessions
This macro allows you to toggle the formatting on or off with a single action.
✨ Key Features
- ✅ Apply supportive bold formatting
- ❌ Remove formatting to restore original text
- 🎯 Add a clickable Ribbon button for easy access
Step-by-Step: How to Use the Speedy Reader Macro
- Open Microsoft Word and press Alt + F11 to open the VBA Editor
- Insert a new module via Insert > Module
- Paste the macro below into the new module
- Press Alt + Q to close the editor
- Select any text in your document
- Press Alt + F8, choose ToggleSpeedyReader, and click Run
- Choose Yes to apply formatting, No to remove it
📎 Optional: Add a Button to the Ribbon
You can make Speedy Reader easier to access by adding it to your Ribbon — for example, to your custom Access Tools tab.
- Go to File → Options → Customize Ribbon
- Select your Access Tools tab (or create a new one)
- Click New Group, then rename it
- From the left dropdown, choose Macros
- Drag Project.Module1.ToggleSpeedyReader into your new group
- Click Rename to name it Speedy Reader and assign an icon
- Click OK — the macro is now available as a button
🧠 Macro Code
Sub ToggleSpeedyReader()
Dim applyFormatting As VbMsgBoxResult
Dim para As Paragraph
Dim wrd As Range
Dim firstPartLength As Integer
Dim totalLength As Integer
Dim boldRange As Range
applyFormatting = MsgBox(“Do you want to APPLY the Speedy Reader formatting?” & vbCrLf & _
“Choose No to REMOVE formatting.”, vbYesNoCancel + vbQuestion, “Speedy Reader Toggle”)
If applyFormatting = vbCancel Then Exit Sub
Application.ScreenUpdating = False
For Each para In ActiveDocument.Paragraphs
For Each wrd In para.Range.Words
totalLength = Len(Trim(wrd.Text))
If totalLength > 1 And InStr(wrd.Text, vbCr) = 0 Then
If totalLength <= 3 Then
firstPartLength = 1
ElseIf totalLength <= 6 Then
firstPartLength = 2
ElseIf totalLength <= 9 Then
firstPartLength = 3
Else
firstPartLength = 4
End If
Set boldRange = wrd.Duplicate
boldRange.End = boldRange.Start + firstPartLength
If applyFormatting = vbYes Then
boldRange.Font.Bold = True
ElseIf applyFormatting = vbNo Then
boldRange.Font.Bold = False
End If
End If
Next wrd
Next para
Application.ScreenUpdating = True
If applyFormatting = vbYes Then
MsgBox “Speedy Reader formatting applied!”, vbInformation
Else
MsgBox “Speedy Reader formatting removed.”, vbInformation
End If
End Sub
Download resources:
Tips for Use
- Save this macro in your Normal.dotm template to keep it always available
- Assign a keyboard shortcut (e.g., Alt+Shift+B) for faster access
- Works well for documents, emails, academic writing, and web content revi
Created by the Aptolink Assistive Technology Training Team — empowering productivity and inclusion through smart tools.