![Как изменить язык всех слайдов PowerPoint одновременно?](https://rvso.com/image/1317133/%D0%9A%D0%B0%D0%BA%20%D0%B8%D0%B7%D0%BC%D0%B5%D0%BD%D0%B8%D1%82%D1%8C%20%D1%8F%D0%B7%D1%8B%D0%BA%20%D0%B2%D1%81%D0%B5%D1%85%20%D1%81%D0%BB%D0%B0%D0%B9%D0%B4%D0%BE%D0%B2%20PowerPoint%20%D0%BE%D0%B4%D0%BD%D0%BE%D0%B2%D1%80%D0%B5%D0%BC%D0%B5%D0%BD%D0%BD%D0%BE%3F.png)
Я хочу изменить язык проверки всех моих слайдов в PowerPoint. Я пробовал установить язык через меню «Языковые настройки», однако это меняет его только для новых PowerPoint.
решение1
Чтобы изменить языквесьPowerPoint легко, откройтеВидвкладку и выберитеКонтурвид.
Теперь нажмите
- Ctrl+, Aчтобы выбрать все.
- Инструменты→Язык→ Выберите язык для настройки.
Аналогично, пока у вас все выбрано, вы можете изменить другие вещи, такие как шрифты, цвета и т. д. Хотя, конечно, во многих случаях это лучше сделать, изменив мастер-слайд, презентация, которая прошла через множество редакторов, может иметь множество «жестких» наборов форматирования, которые отклоняются от базового мастера и требуют сброса для обеспечения согласованности. Вы также можете сбросить отдельные слайды до стиля мастера, но это может привести к перемещению заполнителей, что может быть нежелательным в некоторых ситуациях.
PowerPoint2013
- Вид→Контур→ выбрать все слайды (в левом меню) с помощью Ctrl+ A.
- Обзор→Язык→Установить язык проверки...→ Выберите язык для настройки.
Что касается меня - PowerPointперезапускбыло нужно. Наверное, потому что я тоже изменилЯзык редактирования:
- Обзор→Язык→Установить язык проверки...→Языковые предпочтения→Выберите языки редактирования.
решение2
С использованиемPowerpoint 2010Я открыл меню «Контур» —
Выделил весь текст (Ctrl+A), открыл меню языка и установил язык проверки.
И это сработало!
Меню языка находится на вкладке «Обзор» (после вкладки «Показ слайдов» и не отображается на снимке экрана).
решение3
Я улучшилОтвет Инигодля предоставления рекурсивной версии, которая изменяет все элементы на нужный язык.
Эта версия рекурсивно исследует каждую фигуру, которая является типом группы. Некоторые эксперименты показывают, что msoGroup
и msoSmartArt
являются типами группы — не стесняйтесь добавлять в этот список, если найдете другие типы фигур, которые могут содержать текстовые объекты.
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
решение4
На основании ответов Иниго, Дункана, Марии и DomDev, это работает для фигур, таблиц, групп, SmartArt сейчас и в будущем:
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