2012-06-04 10:01:31 +0000 2012-06-04 10:01:31 +0000
166
166

Come posso cambiare la lingua di tutte le diapositive Powerpoint in una sola volta?

Voglio cambiare la lingua di prova di tutte le mie diapositive in un Powerpoint. Ho provato a impostare la lingua tramite il menu Preferenze lingua, ma questo la cambia solo per i nuovi powerpoint.

Risposte (8)

178
178
178
2013-03-17 17:29:41 +0000

Per cambiare facilmente la lingua del Intero PowerPoint, aprire la scheda Visualizza e selezionare la vista Outline.

Ora premere

  • Ctrl+A per selezionare tutti.
  • StrumentiLingua → Scegliere la lingua da impostare.

Allo stesso modo mentre si ha tutto selezionato è possibile cambiare altre cose come i font, i colori ecc. Anche se naturalmente in molti casi è meglio farlo cambiando il master delle diapositive, una presentazione che ha avuto molti editor può avere molti set di formattazione ‘hard’ che si discosta dal master sottostante e necessita di essere resettata per essere coerente. È anche possibile reimpostare le singole diapositive sullo stile master, ma questo può portare a spostare anche i segnaposto, il che può essere indesiderabile in alcune situazioni.

PowerPoint 2013

  • VisualizzaOutline → seleziona tutte le diapositive (in un menu a sinistra) tramite Ctrl+A.
  • ReviewLinguaImposta lingua di prova… → Scegli la lingua da impostare.

Per quanto mi riguarda - PowerPoint restart era necessario. Probabilmente perché ho anche cambiato Lingua di editing :

  • ReviewLinguaImposta la lingua di proofing…Preferenze linguisticheScegliere la lingua di editing.
34
34
34
2012-06-04 10:01:32 +0000

Utilizzando Powerpoint 2010 ho aperto il menu Outline -

Ho selezionato tutto il testo (Ctrl+A), ho aperto il menu della lingua e ho impostato la mia lingua di correzione

E ha funzionato!

Il menu della lingua si trova sulla scheda del nastro Review (dopo la scheda Slide Show e non visibile nell'immagine).

24
24
24
2013-08-09 08:11:56 +0000

Le risposte esistenti funzionano per il testo presente nello schema. Sfortunatamente nel mio caso questo non ha coperto una parte significativa del testo, incluse figure, tabelle, ecc.

Questa macro ha risolto il problema per me :

Sub ChangeProofingLanguageToEnglish()
    Dim j, k, m, scount, fcount, gcount As Integer
    scount = ActivePresentation.Slides.Count
    For j = 1 To scount
        fcount = ActivePresentation.Slides(j).Shapes.Count
        For k = 1 To fcount
            If ActivePresentation.Slides(j).Shapes(k).HasTextFrame Then
                ActivePresentation.Slides(j).Shapes(k) _
                .TextFrame.TextRange.LanguageID = msoLanguageIDEnglishUS
            End If
            If ActivePresentation.Slides(j).Shapes(k).Type = msoGroup Then
                gcount = ActivePresentation.Slides(j).Shapes(k).GroupItems.Count
                For m = 1 To gcount
                    If ActivePresentation.Slides(j).Shapes(k).GroupItems.Item(m).HasTextFrame Then
                    ActivePresentation.Slides(j).Shapes(k).GroupItems.Item(m) _
                    .TextFrame.TextRange.LanguageID = msoLanguageIDEnglishUS
            End If
                Next m
            End If
        Next k
    Next j
End Sub

La “msoLanguageIDEnglishUS” che viene utilizzata nella macro di cui sopra può essere sostituita da qualsiasi lingua desiderata. L'elenco completo delle lingue si trova in questo articolo

(Il credito va a Ganesh Kumar che ha pubblicato la macro originale qui . Ho aggiunto il supporto per il primo livello di raggruppamento delle forme. Per migliorarlo ulteriormente la macro può essere resa ricorsiva per cercare gruppi che contengono altri gruppi, ecc.)

22
22
22
2013-11-25 09:52:03 +0000

Ho migliorato la risposta di Inigo per fornire una versione ricorsiva che cambia tutti gli elementi nella lingua desiderata.

Questa versione indagherà ricorsivamente ogni forma che è un tipo di gruppo. Alcuni esperimenti suggeriscono che msoGroup e msoSmartArt sono i tipi di gruppo - sentitevi liberi di aggiungere a questa lista se trovate altri tipi di forme che possono contenere oggetti di testo.

Sub ChangeProofingLanguageToEnglish()
    Dim j As Long, k As Long
    Dim languageID As MsoLanguageID

    'Set this to your preferred language
    languageID = msoLanguageIDEnglishUK

    For j = 1 To ActivePresentation.Slides.Count
        For k = 1 To ActivePresentation.Slides(j).Shapes.Count
            ChangeAllSubShapes ActivePresentation.Slides(j).Shapes(k), _
              languageID
        Next k
    Next j
End Sub

Sub ChangeAllSubShapes(targetShape As shape, languageID As MsoLanguageID)
    Dim i As Long

    If targetShape.HasTextFrame Then
        targetShape.TextFrame.TextRange.languageID = languageID
    End If

    Select Case targetShape.Type
        Case msoGroup, msoSmartArt
            For i = 1 To targetShape.GroupItems.Count
                ChangeAllSubShapes targetShape.GroupItems.Item(i), languageID
            Next i
    End Select
End Sub
10
10
10
2016-07-09 09:41:22 +0000

Basato sulle risposte di Inigo, Duncan, Maria e DomDev, funziona per forme, tavoli, gruppi, SmartArt, ora e in futuro:

Sub ChangeProofingLanguageToFrench()
    Dim j, k As Integer
    Dim languageID As MsoLanguageID

    'Set this to your preferred language
    languageID = msoLanguageIDFrench

    'Loop all the slides in the document, and change the language
    For j = 1 To ActivePresentation.Slides.Count
        For k = 1 To ActivePresentation.Slides(j).Shapes.Count
            ChangeAllSubShapes ActivePresentation.Slides(j).Shapes(k), languageID
        Next k
    Next j

    'Loop all the master slides, and change the language
    For j = 1 To ActivePresentation.SlideMaster.CustomLayouts.Count
        For k = 1 To ActivePresentation.SlideMaster.CustomLayouts(j).Shapes.Count
            ChangeAllSubShapes ActivePresentation.SlideMaster.CustomLayouts(j).Shapes(k), languageID
        Next k
    Next j

    'Change the default presentation language, so that all new slides respect the new language
    ActivePresentation.DefaultLanguageID = languageID
End Sub

Sub ChangeAllSubShapes(targetShape As Shape, languageID As MsoLanguageID)
    Dim i As Integer, r As Integer, c As Integer

    If targetShape.HasTextFrame Then
        targetShape.TextFrame.TextRange.languageID = languageID
    End If

    If targetShape.HasTable Then
        For r = 1 To targetShape.Table.Rows.Count
            For c = 1 To targetShape.Table.Columns.Count
                targetShape.Table.Cell(r, c).Shape.TextFrame.TextRange.languageID = languageID
            Next
        Next
    End If

    Select Case targetShape.Type
        Case msoGroup, msoSmartArt
            For i = 1 To targetShape.GroupItems.Count
                ChangeAllSubShapes targetShape.GroupItems.Item(i), languageID
            Next i
    End Select
End Sub
7
7
7
2014-05-22 13:36:52 +0000

La versione di Duncan funziona bene per tutto tranne che per le tabelle. Ho trovato un altro codice che sembra funzionare anche con le tabelle: https://stackoverflow.com/questions/4735765/powerpoint-2007-set-language-on-tables-charts-etc-that-contains-text

Public Sub changeLanguage()
On Error Resume Next
Dim gi As GroupShapes '<-this was added. used below
'lang = "English"
lang = "Norwegian"
'Determine language selected
If lang = "English" Then
lang = msoLanguageIDEnglishUK
ElseIf lang = "Norwegian" Then
lang = msoLanguageIDNorwegianBokmol
End If
'Set default language in application
ActivePresentation.DefaultLanguageID = lang

'Set language in each textbox in each slide
For Each oSlide In ActivePresentation.Slides
Dim oShape As Shape
For Each oShape In oSlide.Shapes
'Check first if it is a table
If oShape.HasTable Then
For r = 1 To oShape.Table.Rows.Count
For c = 1 To oShape.Table.Columns.Count
oShape.Table.Cell(r, c).Shape.TextFrame.TextRange.LanguageID = lang
Next
Next
Else
Set gi = oShape.GroupItems
'Check if it is a group of shapes
If Not gi Is Nothing Then
If oShape.GroupItems.Count > 0 Then
For i = 0 To oShape.GroupItems.Count - 1
oShape.GroupItems(i).TextFrame.TextRange.LanguageID = lang
Next
End If
'it's none of the above, it's just a simple shape, change the language ID
Else
oShape.TextFrame.TextRange.LanguageID = lang
End If
End If
Next
Next End Sub
6
6
6
2016-07-04 12:52:11 +0000

Oltre alla risposta fornita da Mastergalen e per rispondere ai commenti relativi al nuovo testo da digitare:

Se si nota che la lingua cambia automaticamente ogni volta che si inizia a digitare un nuovo testo (il che è molto fastidioso), è necessario cambiare la lingua predefinita corrente per PowerPoint:

  • assicurarsi che la finestra di PowerPoint sia una finestra attiva
  • nel Windows Taskbar (sì, in realtà non in PowerPoint), controllare se Language bar è visibile,
  • se non andare a Control Panel > Region and Language > Keyboards and Languages. Fare clic su Change keybords..., passare alla scheda Language bar e controllare l'opzione Docked in the taskbar. (questo è da Win7, quindi potrebbe essere un po ‘diverso in altre versioni).
  • ora azione chiave - nel Language bar nella barra delle applicazioni, ** fare clic sul codice della lingua e passare a EN** (se si desidera utilizzare attualmente l'inglese in PowerPoint). D'ora in poi, tutto il nuovo testo in PowerPoint sarà nella lingua selezionata :-)
  • se volete scrivere nella vostra lingua originale, cambiatelo di nuovo.
3
3
3
2017-10-20 11:42:30 +0000

Ho fatto un add-in nel 2014 per me stesso, che funziona ancora bene in PowerPoint 2016. https://github.com/wobba/officeaddin/releases/tag/v1.0.1 &003

Scansiona le lingue usate, e permette di cambiare tutto in una volta, in loop.