通过 VBA returns 在 PowerPoint 中更改语言仅在 macOS 中编译错误

Changing language in PowerPoint through VBA returns compile error only in macOS

我创建了一个宏,可以更改 PPT 中所有元素(文本框、表格、组...)的更正语言。我最终得到了一个在 Windows 中完美运行的代码。但是,当宏在 macOS 中运行时会出现错误:

Compile error: Method or data member not found

并突出显示行中的“.LanguageID”:

Slides(i).Shapes(j).TextFrame.TextRange.LanguageID = iLanguageSelected

问题是 LanguageID 属性 在 PowerPoint 16.9 之后的 TextFrame 对象中没有包含。

解决方法很简单,只需使用 TextFrame2 而不是 TextFrame:

Slides(i).Shapes(j).TextFrame2.TextRange.LanguageID = iLanguageSelected

TextFrame2 在 Windows 中也有相同的结果,因此您可以为两个 OS.

使用一个代码

来源:https://ourednik.info/maps/2011/04/11/change-the-language-to-englishus-on-all-slides-and-boxes-in-powerpoint-2007-or-2010/