我想更改 Powerpoint 中所有幻灯片的校对语言。我尝试通过“语言首选项”菜单设置语言,但这只会更改新 Powerpoint 的语言。
答案1
要更改语言全部的PowerPoint 轻松打开看法选项卡并选择大纲看法。
现在按
- Ctrl+A全选。
- 工具→语言→ 选择要设置的语言。
同样,在选择所有内容后,您可以更改其他内容,如字体、颜色等。当然,在许多情况下,最好通过更改幻灯片母版来完成此操作,但经过许多编辑的演示文稿可能有许多“硬”格式设置,这些格式与底层母版不同,需要重置才能保持一致。您还可以将单个幻灯片重置为母版样式,但这也可能导致占位符移动,在某些情况下这可能是不受欢迎的。
PowerPoint 2013
- 看法→大纲Ctrl→ 通过+选择所有幻灯片(在左侧菜单中)A。
- 审查→语言→设置校对语言...→ 选择要设置的语言。
至于我 - PowerPoint重新开始是需要的。可能是因为我也做了改变编辑语言:
- 审查→语言→设置校对语言...→语言偏好→选择编辑语言。
答案2
使用Powerpoint 2010我打开了“大纲”菜单 -
选择所有文本(Ctrl + A),打开语言菜单并设置我的校对语言
而且它成功了!
语言菜单位于“审阅”功能区选项卡上(幻灯片放映选项卡之后,在屏幕截图中不可见)。
答案3
我改进了Inigo 的回答提供一个递归版本,将所有项目更改为所需的语言。
此版本将递归调查属于组类型的每个形状。一些实验表明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
根据 Inigo、Duncan、Maria 和 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