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.)