使用VBA更改powerpoint演示文稿中的默认文本方向

时间:2010-06-21 14:47:56

标签: vba text powerpoint powerpoint-vba right-to-left

我使用Powerpoint对象模型以编程方式在PowerPoint 2007中创建演示文稿。

我运行程序的某些计算机上的PowerPoint设置了希伯来语作为主要编辑语言。 (要更改主要语言,请按“Office”按钮,然后按“Powerpoint选项”,然后转到热门 - >语言设置 - >主要编辑语言)

在这些计算机上,当我运行程序时,创建的演示文稿中的所有文本(错误地)都显示为右对齐,并且子弹显示在文本的右侧。

我可以通过编辑生成的演示文稿PPTX文件中的ppt / presentation.xml来解决这个问题。我为每个项目符号级别的“默认文本样式”调整了Alignment和RightToLeft属性。但是,XML编辑不是这个项目的好选择。

除了单独更改每个TextBox之外,如何使用对象模型(即VBA)更改演示文稿中的默认文本方向?


感谢您的建议,

我尝试了什么:

我执行了Application.Presentations(1).LayoutDirection = ppDirectionLeftToRight,它改变了PowerPoint用户界面的方向。我还将Application.Presentations(1).LanguageID更改为美国英语。 不幸的是,做这些事并没有解决创建的演示文稿中从右到左文本的问题。

所以最后我放弃了更改演示文稿本身的参数,并且确实直接更改了ParagraphFormat.TextDirectionParagraphFormat.Alignment每个TextBox的每个Run,我最初试图避免这种情况。这有所期望的效果。

1 个答案:

答案 0 :(得分:4)

在C#中它会看起来像这样:

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