![如何一次更改所有 Powerpoint 投影片的語言?](https://rvso.com/image/1317133/%E5%A6%82%E4%BD%95%E4%B8%80%E6%AC%A1%E6%9B%B4%E6%94%B9%E6%89%80%E6%9C%89%20Powerpoint%20%E6%8A%95%E5%BD%B1%E7%89%87%E7%9A%84%E8%AA%9E%E8%A8%80%EF%BC%9F.png)
我想更改 Powerpoint 中所有投影片的校對語言。我嘗試透過「語言首選項」選單設定語言,但這只會更改新的投影片的語言。
答案1
更改語言全部的PowerPoint 輕鬆開啟看法選項卡並選擇大綱看法。
現在按
- Ctrl+A選擇全部。
- 工具→語言→ 選擇您要設定的語言。
同樣,當您選擇了所有內容後,您可以更改其他內容,例如字體、顏色等。可能有很多“硬”格式設置,這些設置與底層主版本有偏差,需要重置才能保持一致。您也可以將單一投影片重設為主樣式,但這可能會導致佔位符移動,這在某些情況下可能是不受歡迎的。
PowerPoint 2013
- 看法→大綱Ctrl→ 透過+選擇所有投影片(在左側選單中)A。
- 審查→語言→設定校對語言...→ 選擇您要設定的語言。
至於我 - PowerPoint重新開始是需要的。可能是因為我也改變了編輯語言:
- 審查→語言→設定校對語言...→語言偏好→選擇編輯語言。
答案2
使用簡報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
根據 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