我开发了一个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