Tento článek jsem publikovala už před lety, ale protože makro sama stále používám, uvádím i zde.
Setkala jsem se se poměrně standardní úlohou – jak nastavit jazyk pro celou prezentaci. Možná znáte problém, kdy přes výchozí nastavení jazyka na Angličtinu, se stejně použitím České klávesnice má PowerPoint tendenci vracet na Češtinu.
Vypadá to jako banální záležitost. Prostě pomocí Shift nebo Ctrl vybereme požadované snímky v prezentaci a pak v levém dolním rohu, popřípadě na záložce Revize, klikneme na jazyk… A tady přichází první zádrhel – pokud není vybráno konkrétní textové pole, jsou tyto volby neaktivní, jimá možnost neexistuje, tedy nastavení jazyka obvyklým způsobem pro celou prezentaci není možné.
V tuto chvíli bychom neměli zapomenout na základní tezi – pokud něco v MS Office nejde obvyklou cestou, mělo by to jít makrem. A tady přichází zádrhel číslo dvě: už jste v nové verzi hledali příkaz „nahrát makro“? A také zbytečně? Bude to tím, že tento modul je z nových verzí odstraněn, ať už si pustíte „Vývojář (Developer)“ na pásu karet, či ne.
Pro nastavení jazyka pro celou prezentaci bude nutno:
1) pustit VBA – což půjde nejrychleji klávesovou zkratkou Alt + F11
2) vložit modul s makry – na levé straně v „Project exploreru“ klikneme pravým tlačítkem myši na název souboru, do kterého chceme makro umístit, poté vybereme „insert“ a v rozbalovací nabídce „module“
3) do nově otevřeného okna na pravé straně zkopírovat následující kód:
Sub anglicky()
PocetSnimku = ActivePresentation.Slides.Count
For s = 1 To PocetSnimku
PocetPoli = ActivePresentation.Slides(s).Shapes.Count
For p = 1 To PocetPoli
If ActivePresentation.Slides(s).Shapes(p).HasTextFrame Then
ActivePresentation.Slides(s).Shapes(p).TextFrame. _
TextRange.LanguageID = msoLanguageIDEnglishUK
End If
Next p
Next s
End Sub
Sub cesky()
PocetSnimku = ActivePresentation.Slides.Count
For s = 1 To PocetSnimku
PocetPoli = ActivePresentation.Slides(s).Shapes.Count
For p = 1 To PocetPoli
If ActivePresentation.Slides(s).Shapes(p).HasTextFrame Then
ActivePresentation.Slides(s).Shapes(p).TextFrame _
.TextRange.LanguageID = msoLanguageIDCzech
End If
Next p
Next s
End Sub
4) zavřít Visual Basic
Tato makra poté budou k vidění na záložce „Zobrazení“ pod tlačítkem „Makra“, kde je možné je spustit.
V neposlední řadě je nezbytné soubor uložit jako Prezentace PowerPoint s podporou maker.
Makra fungují parádně. Děkuji!
Rádo se stalo 🙂
Makro funguje, ale neřeší můj problém. Tím je to, že při prvním novém vloženém znaku se jazyk zase přepne na češtinu (ano, mám nastavenou angličtinu všude, je to marný, je to marný, ne to marný…). Všude po internetu se lidi stěžují na stejný problém, ale funkční odpověď jsem nikde nenašel…
A zkoušel jste nastavit výchozí jazyk na angličtinu?
Na záložce Revize -> Jazyk -> Nastavit jazyk kontroly pravopisu.
Tam když vyberete angličtinu a kliknete na tlačítko „Výchozí…“, tak by pak měla být všechna pole v angličtině. Mně to funguje 🙂
Dobrý den, naprosto úžasné! Mnohokrát děkuji, už jsem začínala být zoufalá 🙂
Nepropadejte panice!
😄