4

I use the Powerpoint Object-Model to programmatically create a presentation in PowerPoint 2007.

Some of the computers on which I run my program have PowerPoint set with Hebrew as the Primary Editing Language. (to change the primary language, push the "Office" button, then "Powerpoint options", and go to Popular->Language Settings->Primary Editing Language)

On these computers, when I run my program, all the text in the created presentation (wrongly) appears right-justified and the bullets appear to the right of the text.

I could fix this by editing the ppt/presentation.xml in the resulting presentation PPTX file. I adjust the Alignment and RightToLeft properties in the "Default Text Styles" for each bullet level. However, XML editing is not a good option for this project.

How can I change the default text direction in a presentation using the Object Model (i.e., VBA), besides changing each TextBox individually?


Thanks for the suggestions,

What I tried:

I performed Application.Presentations(1).LayoutDirection = ppDirectionLeftToRight, which changes the direction of the PowerPoint user-interface. I also changed Application.Presentations(1).LanguageID to US English. Unfortunately, doing these things did not solve the problem of the right-to-left text in the created presentation.

So finally I gave up on changing the parameters for the Presentation itself and indeed directly changed ParagraphFormat.TextDirection and ParagraphFormat.Alignment for each Run of each TextBox which I initially tried to avoid, and naturally this had the desired effect.

0

1 Answer 1

5

In C# it will look this way:

textbox.TextFrame.TextRange.ParagraphFormat.TextDirection = PpDirection.ppDirectionRightToLeft
Sign up to request clarification or add additional context in comments.

2 Comments

sorry missed the last word: "individually" :(
Perfect, this should be the chosen answer.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.