Office System

The Office Developer Blog (by Luiz Cláudio C. V. Rocha - São Paulo, Brazil)

March 2010 - Posts

Word - como mudar o idioma dos estilos

Hoje eu tinha em mãos dois templates do Word, sendo um para documentos em português e outro em inglês. Além de importar os estilos de um documento para o outro, era preciso também alterar o idioma para que ficassem de acordo com a versão do template (português ou inglês).

Este tipo de alteração em cascata mostra o quanto é importante encadear os estilos na hora de sua criação. O campo "estilo baseado em" faz este papel importante: ao alterar um estilo base (mudar tipo de fonte, idioma, etc.), todos os seus derivados são automaticamente atualizados. Assim, se todos os estilos estivessem devidamente encadeados, bastaria alterar o idioma do estilo Normal para atualizar os demais. Não era o caso.

Para resolver, rodei este pequeno trecho de código:

 

Sub MudarIdiomaEstilos()
Dim s As Style
For Each s In ThisDocument.Styles
    If s.Type = wdStyleTypeParagraph Or s.Type = wdStyleTypeCharacter Or _
    s.Type = wdStyleTypeLinked Or s.Type = wdStyleTypeParagraphOnly Then
        s.LanguageID = wdPortugueseBrazil
    End If
Next s
End Sub

 

Veja que a constante LanguageID nada mais é que o código do idioma (wdPortugueseID=1046, wdEnglishUS=1033, etc.).

 

Distribuindo soluções VSTO para Office 2007 - Pré-requisitos

Desenvolver soluções Office usando o Visual Studio é uma boa evolução para quem tem anos de prática de VBA. O ambiente é mais amigável, mais produtivo (quando bem utilizado) e tem mais recursos que o velho e bom VBA. Tudo uma maravilha, até o momento de distribuir a solução. Nesta hora, sempre penso a mesma coisa: "por que não fiz em VBA?"

Instalar add-ins VSTO do Office em ambientes corporativos é algo realmente penoso. Toda a produtividade ganha na fase de desenvolvimento pode ser perdida quando se faz (ou tenta se fazer) o deployment.

Para começar, é difícil encontrar uma empresa que tenha todos os requisitos atualizados:

- .NET Framework 3.5 com SP1

- VSTO Runtime 3.0 com SP1

- Office 2007 com SP2 (este requisito não é devidamente documentado, mas importante em vários tipos de solução, especialmente se manipular Charts do Office)

 

Em ambientes corporativos, o acesso à Internet não é livre, muito menos a permissão para baixar pacotes como estes que mencionei acima. Para piorar, os links para download da Microsoft costumam trazer a versão bootstrapper, ou seja, um instalador que começa o trabalho mas faz downloads adicionais, o que não resolve o problema. Portanto, se você está montando uma pasta de instaladores de pré-requisitos (PreRecs), precisa procurar pela versão redistributable dos componentes, o que nem sempre é fácil achar.

Segue aqui uma lista de endereços:

- .NET Framework 3.5 com SP1 (este eu demorei a achar!):

 http://msdn.microsoft.com/en-us/netframework/aa569263.aspx

http://download.microsoft.com/download/2/0/e/20e90413-712f-438c-988e-fdaa79a8ac3d/dotnetfx35.exe

- VSTO Runtime 3.0:

http://www.microsoft.com/downloads/details.aspx?FamilyId=54EB3A5A-0E52-40F9-A2D1-EECD7A092DCB&displaylang=en

- VSTO Runtime SP1:

http://www.microsoft.com/downloads/details.aspx?familyid=D8EB4921-891A-4B5E-973F-0B96E6CCF376&displaylang=en

- VSTO Runtime Language Pack (para Windows em português):

http://www.microsoft.com/downloads/details.aspx?FamilyId=1DCA6E2D-5C1F-4DF8-BE5A-3D1561B8F0E3&displaylang=pt-br

- Office 2007 SP2 em português

http://www.microsoft.com/downloads/details.aspx?FamilyId=B444BF18-79EA-46C6-8A81-9DB49B4AB6E5&displaylang=pt-BR

- Office 2007 SP2 em inglês

http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=b444bf18-79ea-46c6-8a81-9db49b4ab6e5