ms-word – VBA应用程序如何在英语和法语版本的Windows / Word中使用正确的内置样式

我开发了一个Word 2003报告生成应用程序,它从数据库中提取数据.

大多数组织使用英语版本的Windows和Office.但是,我们法国办事处的许多用户都使用他们的本地版本.如果我使用Word的任何内置标题样式标题(1-9),法语版本需要Titre(1-9).

在我当前的解决方案中,用户设置Form选项,VBA执行以下操作:

Dim HeadingStyle as String
Dim HeadingLevel as Integer


If ChooseReportFrm.FrenchOpt.Value = True Then 
 HeadingStyle = "Titre "
Else
 HeadingStyle = "Heading "
End If
...

Call InsertText(HeadingStyle & CStr(HeadingLevel))

我想让这个过程自动完成并且对用户完全透明.我一直在寻找一种与位置无关的方法来设置正确的样式,例如枚举常量.有没有人对更优雅的解决方案有任何想法?

最佳答案 看看
WdBuiltinStyle Enumeration.

在分配样式时,您可以通过它们的local name(这是您现在的样子)来实现,但您也可以使用其中一个枚举值,在您的情况下将Style属性设置为WdBuiltinStyle.wdStyleHeading1就可以了.

Dim para As Paragraph
Set para = ActiveDocument.Paragraphs(1)

para.Style = WdBuiltinStyle.wdStyleHeading1
点赞