Powerpoint-VBA:获取支持的语言列表/将langauge ID映射到名称/显示语言选择器

时间:2013-02-03 12:34:27

标签: vba powerpoint powerpoint-vba

我正在研究“整个文档中的修复语言”脚本,并使用适当的语言选择GUI。但是,我无法以编程方式生成Powerpoint知道的所有语言的列表,包括用户自己语言的语言名称。

出于这个原因,我正在寻找以下内容:

  • 以编程方式实现msoLanguageIds的方式
  • 以用户自己的语言以编程方式将msoLanguageIds映射到语言名称的方法

在Word中,我可以使用Language object,但这在Powerpoint中似乎不存在。

或者,向用户显示将设置DefaultLanguageID的对话框的方法就足够了(我可以从那里获取所需的语言)。

我甚至找不到通过GUI设置的方法。显示类似的语言选择器并获得结果显然也可以完成这项工作。

目标平台是Office 2007。

1 个答案:

答案 0 :(得分:3)

使用包含Powerpoint宏中的语言对象的Word Languages集合怎么样?所以你可以得到MsoLanguageID枚举值的语言名称。在这里,您可以找到支持的语言:http://support.microsoft.com/kb/221435。这个解决方案对你有用吗?

' Powerpoint code
' add reference to word lib.

    Public Sub test()
        Dim wordAppliacation As New Word.Application
        wordAppliacation.Visible = False

        On Error Resume Next

        Dim languageId As MsoLanguageID
        For languageId = msoLanguageIDArabic To msoLanguageIDSpanishPuertoRico
            Debug.Print languageId & ", " & wordAppliacation.Languages(languageId).Name & ", " & wordAppliacation.Languages(languageId).NameLocal
        Next languageId

        On Error GoTo 0

        wordAppliacation.Quit
        Set wordAppliacation = Nothing

    End Sub