Microsoft Publisher 2013 change Language (or other properties) for multiple elements at once


Is there a way to change language for all text boxes in a Publisher 2013 document at once?

I have an existing file with a bunch of text boxes set to a wrong language, which is screwing up spell checking and hyphenation. I also don't know how to disable hyphenation, but I don't even know how to do it for a single text box.

So, what I do know is how to change language for a single text box, i.e.:

  1. Click on a single text box,
  2. Select all text using Ctrl+A,
  3. Review -> Language -> Set proofing language.

But since it's a large document, it's rather cumbersome, and a bit strange that it's not possible to at least select all boxes on a single page and change their properties. For example, if I select two or more text boxes, I am also unable to change their Font type or size, which is also something that is pretty easy to do in, say, Visio or Word.

Is there a way to do change properties of multiple Publisher elements at once?

Best Answer

I wrote a crude macro to do this:

Sub AllTextboxesLanguageToSpanish()

    Dim s As Shape
    Dim p As Page

    For Each p In ThisDocument.Pages

        For Each s In p.Shapes

        On Error Resume Next

            If s.TextFrame.HasText Then
                s.TextFrame.TextRange.LanguageID = 21514
            End If

        Next s

    Next p

End Sub

If you replace "21514" (Spanish (United States)) with the code for another language, you should be fine. Just run it from the VBA editor (Alt+F11).