Изменить направление текста по умолчанию в презентации PowerPoint с помощью VBA - PullRequest
2 голосов
/ 21 июня 2010

Я использую объектную модель Powerpoint для программного создания презентации в PowerPoint 2007.

На некоторых компьютерах, на которых я запускаю программу, PowerPoint установлен с ивритом в качестве основного языка редактирования. (чтобы изменить основной язык, нажмите кнопку «Офис», затем «Параметры Powerpoint» и перейдите в «Популярные» -> «Настройки языка» -> «Основной язык редактирования»)

На этих компьютерах, когда я запускаю свою программу, весь текст в созданной презентации (ошибочно) отображается по правому краю, а маркеры отображаются справа от текста.

Я мог бы исправить это, отредактировав ppt / presentation.xml в результирующем файле PPTX презентации. Я настраиваю свойства Alignment и RightToLeft в «Стилях текста по умолчанию» для каждого уровня маркера. Однако редактирование XML не является хорошим вариантом для этого проекта.

Как изменить направление текста по умолчанию в презентации, используя объектную модель (т. Е. VBA), помимо изменения каждого TextBox по отдельности?


Спасибо за предложения,

Что я пробовал:

Я выполнил Application.Presentations(1).LayoutDirection = ppDirectionLeftToRight, который меняет направление пользовательского интерфейса PowerPoint. Я также изменил Application.Presentations(1).LanguageID на американский английский. К сожалению, выполнение этих действий не решило проблему текста справа налево в созданной презентации.

Итак, в конце концов я отказался от изменения параметров самой презентации и действительно непосредственно изменил ParagraphFormat.TextDirection и ParagraphFormat.Alignment для каждого Run каждого TextBox, который я изначально пытался избежать, и, естественно, это имело желаемый эффект.

1 Ответ

4 голосов
/ 22 июня 2010

В C # это будет выглядеть так:

textbox.TextFrame.TextRange.ParagraphFormat.TextDirection = PpDirection.ppDirectionRightToLeft
...