Como pode aplicativo VBA usar a correta construído em estilos em todo Inglês e as versões francesa do Windows / Word
Pergunta
Eu desenvolveu uma aplicação de geração de relatórios Word 2003 que extrai dados de um banco de dados.
A maior parte da organização utiliza versões em inglês do Windows e do Office. Mas, muitos usuários em nosso escritório francês usar suas versões locais. Se eu usar qualquer um da Palavra de título incorporados estilos de título (1-9), a versão francesa espera Titre (1-9).
Na minha solução atual, o usuário define uma opção de formulário e VBA faz o seguinte:
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))
Gostaria de fazer este processo automático e completamente transparente para o usuário. Fui à procura em vão por um caminho independente de local para definir o estilo correto, como uma constante enumerada. Alguém tem alguma idéia para uma solução mais elegante?
Solução
Tenha um olhar para o WdBuiltinStyle
enumeração .
Ao atribuir estilos, você pode fazê-lo por sua nome local (que é o que você parece fazer agora), mas você também pode usar um dos valores de enumeração, no seu caso, definindo a propriedade Style
para WdBuiltinStyle.wdStyleHeading1
faria o truque.
Dim para As Paragraph
Set para = ActiveDocument.Paragraphs(1)
para.Style = WdBuiltinStyle.wdStyleHeading1