-
WSAndrew77
AskWoody LoungerThe original code I posted choked when I tried it on a *real* char style (one that’s actually a linked style, as opposed to the behavior I described above in Word 2000). I got a Runtime Error 4198: Command failed on the line:
sty.Delete
But I noticed that, in fact, the style was deleted. Adding an On Error Resume Next line made it work like a charm.
It’s hard to create test files for this, so if anyone’s got a really messy “char char” document, I’d love to test this on it. I’m going to (very) tentatively say this works for Word 2000+. I’d love feedback, of course.
Sub MyDeleteCharCharStyles() Dim sty As Style Dim i As Integer Dim doc As Document Dim sStyleName As String Dim bCharCharFound As Boolean Set doc = ActiveDocument Do bCharCharFound = False For i = doc.Styles.Count To 1 Step -1 Set sty = doc.Styles(i) sStyleName = sty.NameLocal If sStyleName Like "* Char*" Then bCharCharFound = True If sty.Type = wdStyleTypeCharacter Then On Error Resume Next sty.Delete Else sty.NameLocal = Replace(sStyleName, " Char", "") End If Exit For End If Set sty = Nothing Next i Loop While bCharCharFound = True End Sub
P.S. / FYI — Another way to remove aliases from a style is with the split function:
Set sty = ActiveDocument.Styles("Style Name,with,many,aliases") sty.NameLocal = Split(sty.NameLocal, ",")(0)
-
WSAndrew77
AskWoody LoungerThe original code I posted choked when I tried it on a *real* char style (one that’s actually a linked style, as opposed to the behavior I described above in Word 2000). I got a Runtime Error 4198: Command failed on the line:
sty.Delete
But I noticed that, in fact, the style was deleted. Adding an On Error Resume Next line made it work like a charm.
It’s hard to create test files for this, so if anyone’s got a really messy “char char” document, I’d love to test this on it. I’m going to (very) tentatively say this works for Word 2000+. I’d love feedback, of course.
Sub MyDeleteCharCharStyles() Dim sty As Style Dim i As Integer Dim doc As Document Dim sStyleName As String Dim bCharCharFound As Boolean Set doc = ActiveDocument Do bCharCharFound = False For i = doc.Styles.Count To 1 Step -1 Set sty = doc.Styles(i) sStyleName = sty.NameLocal If sStyleName Like "* Char*" Then bCharCharFound = True If sty.Type = wdStyleTypeCharacter Then On Error Resume Next sty.Delete Else sty.NameLocal = Replace(sStyleName, " Char", "") End If Exit For End If Set sty = Nothing Next i Loop While bCharCharFound = True End Sub
P.S. / FYI — Another way to remove aliases from a style is with the split function:
Set sty = ActiveDocument.Styles("Style Name,with,many,aliases") sty.NameLocal = Split(sty.NameLocal, ",")(0)
-
WSAndrew77
AskWoody LoungerHi Phil,
I’ve attached a file that contains four styles (well, besides the defaults). “Quote,q” and its accompanying “char” style, and “>ListBullet,>lb” and its accompanying “char” style.
I don’t know off hand which version of word these styles came from.
Since Word 2000 doesn’t support the LinkStyle property, I’m guessing it just splits them into two styles, one paragraph and one character. Sometimes, though, there’s no character style created, just a paragraph style showing up with “char char” in the name.
The macro I posted earlier represents the general algorithm I use to cleanse them from Word 2000: delete the character ones, and rename the paragraph ones.
I’m at home on Word 2003 now, so can’t get a better sample for you.
-
WSAndrew77
AskWoody LoungerHi Phil,
I’ve attached a file that contains four styles (well, besides the defaults). “Quote,q” and its accompanying “char” style, and “>ListBullet,>lb” and its accompanying “char” style.
I don’t know off hand which version of word these styles came from.
Since Word 2000 doesn’t support the LinkStyle property, I’m guessing it just splits them into two styles, one paragraph and one character. Sometimes, though, there’s no character style created, just a paragraph style showing up with “char char” in the name.
The macro I posted earlier represents the general algorithm I use to cleanse them from Word 2000: delete the character ones, and rename the paragraph ones.
I’m at home on Word 2003 now, so can’t get a better sample for you.
-
WSAndrew77
AskWoody LoungerHi Gary (et al),
Since the LinkStyle property isn’t available in Word 2000, Gary’s macro won’t work for that version. I had long been just fixing the “char char” styles manually, but Gary’s macro prompted me to take a stab at automating it. (Actually, Gary’s macro prompted me to try and just use his macro — it was discovering to my dismay that it didn’t work on Word 2000 that actually got me doing my own coding
.)
This macro retains any existing aliases, and it also allows for styles whose names start with “Char”.
I’ve tested this on a bunch of documents with “Char Char” styles, and it seemed to work pretty well. But I’d love any feedback or suggestions (or questions or complaints). I haven’t tested it on Word 2003, but will do so tonight.
Sub Word2000DeleteCharCharStyles() Dim sty As Style Dim i As Integer Dim doc As Document Dim sStyleName As String Dim bCharCharFound As Boolean Set doc = ActiveDocument Do bCharCharFound = False For i = doc.Styles.Count To 1 Step -1 Set sty = doc.Styles(i) sStyleName = sty.NameLocal If sStyleName Like "* Char*" Then bCharCharFound = True If sty.Type = wdStyleTypeCharacter Then sty.Delete Else sty.NameLocal = Replace(sStyleName, " Char", "") End If Exit For End If Set sty = Nothing Next i Loop While bCharCharFound = True End Sub
The Do…While Loop is there because renaming a style dynamically changes its location in the Styles collection. This was a quick way to accommodate that. Again, comments are welcome.
-
WSAndrew77
AskWoody LoungerHi Gary (et al),
Since the LinkStyle property isn’t available in Word 2000, Gary’s macro won’t work for that version. I had long been just fixing the “char char” styles manually, but Gary’s macro prompted me to take a stab at automating it. (Actually, Gary’s macro prompted me to try and just use his macro — it was discovering to my dismay that it didn’t work on Word 2000 that actually got me doing my own coding
.)
This macro retains any existing aliases, and it also allows for styles whose names start with “Char”.
I’ve tested this on a bunch of documents with “Char Char” styles, and it seemed to work pretty well. But I’d love any feedback or suggestions (or questions or complaints). I haven’t tested it on Word 2003, but will do so tonight.
Sub Word2000DeleteCharCharStyles() Dim sty As Style Dim i As Integer Dim doc As Document Dim sStyleName As String Dim bCharCharFound As Boolean Set doc = ActiveDocument Do bCharCharFound = False For i = doc.Styles.Count To 1 Step -1 Set sty = doc.Styles(i) sStyleName = sty.NameLocal If sStyleName Like "* Char*" Then bCharCharFound = True If sty.Type = wdStyleTypeCharacter Then sty.Delete Else sty.NameLocal = Replace(sStyleName, " Char", "") End If Exit For End If Set sty = Nothing Next i Loop While bCharCharFound = True End Sub
The Do…While Loop is there because renaming a style dynamically changes its location in the Styles collection. This was a quick way to accommodate that. Again, comments are welcome.
-
WSAndrew77
AskWoody LoungerCheck the setting marked “Make Hidden Markup Visible When Opening or Saving” under Tools->Options->Security. Even though all the changes may have been accepted, if there’s a Comment or other Markup it may be triggering the “Final showing markup” view.
HTH!
-
WSAndrew77
AskWoody LoungerCheck the setting marked “Make Hidden Markup Visible When Opening or Saving” under Tools->Options->Security. Even though all the changes may have been accepted, if there’s a Comment or other Markup it may be triggering the “Final showing markup” view.
HTH!
![]() |
Patch reliability is unclear. Unless you have an immediate, pressing need to install a specific patch, don't do it. |
SIGN IN | Not a member? | REGISTER | PLUS MEMBERSHIP |

Plus Membership
Donations from Plus members keep this site going. You can identify the people who support AskWoody by the Plus badge on their avatars.
AskWoody Plus members not only get access to all of the contents of this site -- including Susan Bradley's frequently updated Patch Watch listing -- they also receive weekly AskWoody Plus Newsletters (formerly Windows Secrets Newsletter) and AskWoody Plus Alerts, emails when there are important breaking developments.
Get Plus!
Welcome to our unique respite from the madness.
It's easy to post questions about Windows 11, Windows 10, Win8.1, Win7, Surface, Office, or browse through our Forums. Post anonymously or register for greater privileges. Keep it civil, please: Decorous Lounge rules strictly enforced. Questions? Contact Customer Support.
Search Newsletters
Search Forums
View the Forum
Search for Topics
Recent Topics
-
two pages side by side land scape
by
marc
9 hours, 58 minutes ago -
Deleting obsolete OneNote notebooks
by
afillat
12 hours, 4 minutes ago -
Word/Outlook 2024 vs Dragon Professional 16
by
Kathy Stevens
12 hours, 14 minutes ago -
Security Essentials or Defender?
by
MalcolmP
12 hours, 18 minutes ago -
April 2025 updates out
by
Susan Bradley
22 minutes ago -
Framework to stop selling some PCs in the US due to new tariffs
by
Alex5723
24 minutes ago -
WARNING about Nvidia driver version 572.83 and 4000/5000 series cards
by
Bob99
14 hours, 32 minutes ago -
Creating an Index in Word 365
by
CWBillow
3 hours, 37 minutes ago -
Coming at Word 365 and Table of Contents
by
CWBillow
3 hours, 53 minutes ago -
Windows 11 Insider Preview Build 22635.5170 (23H2) released to BETA
by
joep517
1 day, 7 hours ago -
Has the Microsoft Account Sharing Problem Been Fixed?
by
jknauth
1 day, 10 hours ago -
W11 24H2 – Susan Bradley
by
G Pickerell
1 day, 12 hours ago -
7 tips to get the most out of Windows 11
by
Alex5723
1 day, 10 hours ago -
Using Office apps with non-Microsoft cloud services
by
Peter Deegan
1 day, 3 hours ago -
I installed Windows 11 24H2
by
Will Fastie
6 hours, 10 minutes ago -
NotifyIcons — Put that System tray to work!
by
Deanna McElveen
1 day, 15 hours ago -
Decisions to be made before moving to Windows 11
by
Susan Bradley
5 hours, 39 minutes ago -
Port of Seattle says ransomware breach impacts 90,000 people
by
Nibbled To Death By Ducks
2 days ago -
Looking for personal finance software with budgeting capabilities
by
cellsee6
1 day, 8 hours ago -
ATT/Yahoo Secure Mail Key
by
Lil88reb
1 day, 8 hours ago -
Devices with apps using sprotect.sys driver might stop responding
by
Alex5723
2 days, 17 hours ago -
Neowin – 20 times computers embarrassed themselves with public BSODs and goofups
by
EP
3 days, 1 hour ago -
Slow Down in Windows 10 performance after March 2025 updates ??
by
arbrich
2 days, 3 hours ago -
Mail from certain domains not delivered to my outlook.com address
by
pumphouse
2 days, 10 hours ago -
Is data that is in OneDrive also taking up space on my computer?
by
WShollis1818
2 days, 20 hours ago -
Nvidia just fixed an AMD Linux bug
by
Alex5723
4 days, 12 hours ago -
50 years and counting
by
Susan Bradley
1 day, 10 hours ago -
Fix Bluetooth Device Failed to Delete in Windows Settings
by
Drcard:))
1 day, 13 hours ago -
Licensing and pricing updates for on-premises server products coming July 2025
by
Alex5723
4 days, 23 hours ago -
Edge : Deprecating window.external.getHostEnvironmentValue()
by
Alex5723
4 days, 23 hours ago
Recent blog posts
Key Links
Want to Advertise in the free newsletter? How about a gift subscription in honor of a birthday? Send an email to sb@askwoody.com to ask how.
Mastodon profile for DefConPatch
Mastodon profile for AskWoody
Home • About • FAQ • Posts & Privacy • Forums • My Account
Register • Free Newsletter • Plus Membership • Gift Certificates • MS-DEFCON Alerts
Copyright ©2004-2025 by AskWoody Tech LLC. All Rights Reserved.