Is there a macro that would seek out all symbols in a document and revert them all to objects? I believe the symbols are really bogging down my file and there are too many at this point to find them. Thanks.
Are these supposed to jump to each page?
no only on current page
for all pages on active document try code below
Sub RevertSymbolsToObjects()Dim sh As ShapeRange, s As Shape, dp As PageActiveDocument.BeginCommandGroup ("RevertToOjects")For Each dp In ActiveDocument.Pagesdp.ActivateSet sh = ActivePage.Shapes.FindShapes(Type:=cdrSymbolShape)For Each s In shs.Symbol.RevertToShapesNext sNext dpActiveDocument.EndCommandGroupEnd Sub
I had to stop the operation by the way. It was going on for about an hour and a half and I had to do some more work. I'll try it again when my day is over.
I cannot guarantee success, but you might try this:
Sub RevertSymbols_active_page() Dim p As Page Dim s As Shape Dim sr As ShapeRange On Error GoTo ErrHandler ActiveDocument.BeginCommandGroup "revert symbols" EventsEnabled = False Optimization = True Set p = ActivePage Set sr = p.Shapes.FindShapes(Query:="@type = 'symbol'") For Each s In sr.Shapes s.Symbol.RevertToShapes Next s ExitSub: Optimization = False EventsEnabled = True ActiveDocument.EndCommandGroup Exit Sub ErrHandler: MsgBox "Error occurred: " & Err.Description Resume ExitSub End Sub
That only reverts symbols on the current page, but I would try that first before moving on to a "do this for all pages" version (or perhaps a "do this for the next 5 pages" version, or...).
This worked on a single page.
Was it still super-slow to process that one page?
If I might ask, how many pages does your document have?
Can you edit it to do the entire document? I want to try this now. I'm going on vacation tonight and want to test this out.