Como pode aplicativo VBA usar a correta construído em estilos em todo Inglês e as versões francesa do Windows / Word

StackOverflow https://stackoverflow.com/questions/807327

  •  03-07-2019
  •  | 
  •  

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?

Foi útil?

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
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top