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 wish I could but my company would most likely have an issue with it.
Thanks; I understand.
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...).
I'm not sure I understand. How is that different than the 2nd one Mek posted?
EventsEnabled = FalseOptimization = True
Those can make some things a bit faster.