Tag Archive para »Visual Basic«

Segunda-feira, 11 de abril, 2011 | Autor:

Por mais estranho que pareça em uma sociedade globalizada, os desenvolvedores de MS PowerPoint não ter considerado necessário para permitir que seus usuários para alterar o idioma de uma apresentação inteira. Isso se torna especialmente irritante quando você traduzir seus slides. Você facilmente acabar com uma mistura de línguas em um slide, e você verá, então, que não é possível selecionar o principal: o botão de linguagem (na barra abaixo) simplesmente não é clicável se um texto multilíngüe é selecionado (em MS Word, isso funciona, mas não em MS PowerPoint). Mesmo uma mistura entre o Inglês / Inglês e EUA / UK desabilita o botão.

A rotunda básico consiste na determinação do "por defeito" idioma. Simplesmente clique no idioma na barra de linguagem em algum slide um idioma, caso este realmente funciona, selecione um idioma e pressione "por defeito":

MS PowerPoint - Language by default

Cada novo slide irá aplicar sistematicamente seu idioma padrão para qualquer nova caixa.

No entanto, isto não resolve o problema de uma apresentação existente você deseja traduzir. Começando a escrever em Inglês em um slide francês, o auto-corretor irá sublinhar a sua ortografia, talvez até mesmo mastigá-lo por completo, se tiver 'corrigir enquanto você digita "ativo. Se você tiver sorte, o botão seletor de linguagem funciona. Mas mesmo a simples mistura de francês e francês-fr-chmakes impossível usá-lo.

Então, como você determinar o idioma de um slide inteiro? Ou mesmo (woaw) a língua de uma apresentação inteira?

Bem, a única maneira de contornar este é um macro que eu tenho a partir de (!) Blog Chocotooth de :

  Sub SetLangUS ()
 Dim scount, j, k, fcount
 scount = ActivePresentation.Slides.Count
 scount Para j = 1 To scount
 fcount = ActivePresentation.Slides (j). Shapes.Count
 fcount 'change all shapes: Para k = 1 To mudança fcount "todas as formas: 
  Se ActivePresentation.Slides (J). Formas (K). HasTextFrame Então
 ActivePresentation.Slides (J). Formas (K). TextFrame _
 . TextRange.LanguageID = msoLanguageIDEnglishUS
 End If
 K próxima
 fcount = ActivePresentation.Slides (j). NotesPage.Shapes.Count
 fcount 'change all shapes: Para k = 1 To mudança fcount "todas as formas: 
  Se ActivePresentation.Slides (J). NotesPage.Shapes (k). Então HasTextFrame
 ActivePresentation.Slides (J). NotesPage.Shapes (K). TextFrame _
 . TextRange.LanguageID = msoLanguageIDEnglishUS
 End If
 K próxima
 J próxima
 End Sub 

O que você deve fazer com isso? Clique no botão Visual Basic no separador 'desenvolvedor':

Insira um novo módulo com o botão direito do mouse em "VBAProject 'no painel de navegação à esquerda:

New module in Visual Basic

Isso abre uma nova janela. Cole o código para ele. E executá-lo com o botão 'play':

Code Window in Visual Basic

Veja? Todas as caixas de texto têm sido definido para Inglês / EUA. Você pode salvar este código para uso posterior em um arquivo com extensão. Bas extensão.

PS: Caro Microsoft, se você poderia oferecer uma solução menos tedioso do que isso, basta integrar o recurso de linguagem comutação em PowerPoint, muito obrigado antecipadamente.