更改PowerPoint演示文稿上的拼写检查语言。
我收到了一份有几十张幻灯片的PowerPoint演示文稿,每张幻灯片都有一些文本框。虽然该演示文稿是用英语编写的,但拼写检查的语言却设置为加拿大法语。我试图将语言改为英语,但即使我选择所有的幻灯片,并在 “语言 "对话框上选择一个新的元素,文本框的语言仍然不变。所以我必须逐张幻灯片选择文本框,然后逐个更改语言。
有没有更好的方法?
我安装的PowerPoint版本是2002 SP3。
我收到了一份有几十张幻灯片的PowerPoint演示文稿,每张幻灯片都有一些文本框。虽然该演示文稿是用英语编写的,但拼写检查的语言却设置为加拿大法语。我试图将语言改为英语,但即使我选择所有的幻灯片,并在 “语言 "对话框上选择一个新的元素,文本框的语言仍然不变。所以我必须逐张幻灯片选择文本框,然后逐个更改语言。
有没有更好的方法?
我安装的PowerPoint版本是2002 SP3。
我知道有一个答案已经被接受了(我给了+1,因为它很好用,写得也很好),但是对一些人来说,创建、保存、使用宏的想法可能太可怕了(或者他们可能有安全设置,使这很难实现)。所以一个更简单的解决方案是使用正常的内置功能来实现这个功能。诀窍是能够一次性选择所有幻灯片上的所有对象,而不是幻灯片本身,这在大纲视图中很容易实现(很遗憾,这是一个未被充分使用的功能,但对于重新组织幻灯片组,提升和降级整个块,例如子弹/>新幻灯片或反之)。
我没有PowerPoint 2002 (“XP”),所以我不确定你是否需要遵循2000或2003的说明,所以我在这里涵盖了这两个版本。
-在PP 2000中,进入大纲视图,它是一个很好的工具。转到大纲视图,也就是屏幕左下角的第二个图标(看起来像带缩进的线条)。 - _在PP 2003以后:进入 “正常 "视图(看起来像带缩进的线条)。转到 "正常 "视图(三窗格布局),在幻灯片导航器的顶部选择 "大纲",而不是 "幻灯片”
在旧版本中,确保你的 “大纲 "工具栏是可见的(View > Toolbars > Outlining),然后点击 "Expand all "按钮(后来的版本让你通过右键点击来实现)。
工作完成。
同样,当你选择了所有的东西,你也可以改变其他东西,比如字体、颜色等。当然,在许多情况下,这最好通过改变幻灯片母版来完成,但一个有许多编辑器的演示文稿可能有许多 "硬 "格式化设置,这与底层母版有偏差,需要重新设置以保持一致。你也可以重置个别幻灯片到主样式,但这可能会导致占位符移动,这可能是不可取的在某些情况下。
在许多演示文稿中,我用手做了它或使用一次性宏,我终于打破了,并使它成为一个适当的PowerPoint插件。
我已经把它上传到了我的网站。PowerPoint LanguageFixer
它可以解决:
只要将其中一个文本框设置为你想要的语言,选择它并点击按钮。
根据您的情况,有两种选择。
情况1:Office的原始副本是从基于加拿大法语的安装媒体安装的。
您可以将默认语言设置为英语,但核心功能将使用安装介质的母语。
唯一的解决方法是卸载加拿大法语版,然后从基于英语的安装媒体安装,或者将整个演示文稿复制/粘贴到新的文档中并重新格式化。
.
情况2:一切似乎都是英语,但在有限的情况下会出现外语。
在这种情况下,以下是Office 2002的修复说明:
1.单击 “开始 "菜单 2. 指向 "程序 ” 3. 指向Microsoft Office Tools 4. 点击Microsoft Office XP语言设置。 5. 单击 “启用的语言 "选项卡。 6. 转到Microsoft Office的默认版本框 7. 选择您想要的语言 8. 单击 "确定"。将出现一条消息,告诉你将进行哪些更改。 9. 点击继续
希望对你有所帮助。
Leonardo发布的代码很简单,而且普遍有效,但它不会影响群组中的Shape
s。一个更通用的代码也使用递归来处理这种情况(与这里略有不同,它与Leonardo的代码在同一个线程)。
Private Function ChangeLangOfAllText_caller()
'ChangeLangOfAllText (msoLanguageIDEnglishUS)
ChangeLangOfAllText (msoLanguageIDSpanishArgentina)
End Function
Private Function ChangeLangOfAllText(ByVal LangID As Long)
Dim MySlide As Slide
Dim MyShape As Shape
Dim MyD As Design
Dim MyHeaderFooter As HeaderFooter
Dim i, nbs As Integer
''''' First deal with the master slides
For Each MyD In ActivePresentation.Designs
For Each MyShape In MyD.SlideMaster.Shapes
ProcessShapes MyShape, LangID
Next MyShape
Next MyD
''''' Now deal with the slides
' Enable this for debugging
'Debug.Print "File " & ActivePresentation.Name & _
": working with " & ActivePresentation.Slides.Count & " slides"
For Each MySlide In ActivePresentation.Slides
' Enable this for debugging
'Debug.Print " Slide index " & MySlide.SlideIndex & ", Slide number " & MySlide.SlideNumber & _
": working with " & MySlide.Shapes.Count & " shapes"
For Each MyShape In MySlide.Shapes
ProcessShapes MyShape, LangID
Next MyShape
''''' Now deal with the Notes
For Each MyShape In MySlide.NotesPage.Shapes
ProcessShapes MyShape, LangID
Next MyShape
''''' Now deal with the master ' doesn't appear to work, have to try something else
For Each MyShape In MySlide.Master.Shapes
ProcessShapes MyShape, LangID
Next MyShape
Next MySlide
End Function
Private Function ProcessShapes(MyShape As Shape, ByVal LangID As Long)
Dim i As Integer
If ((MyShape.Type = msoGroup) Or (MyShape.Type = msoTable)) Then
On Error Resume Next
For i = 1 To MyShape.GroupItems.Count
''' The trick is to recurse!
ProcessShapes MyShape.GroupItems.Item(i), LangID
Next i
Else
ChangeLang MyShape, LangID
End If
End Function
Private Function ChangeLang(MyShape As Shape, ByVal LangID As Long)
Dim i As Integer
If (MyShape.HasTextFrame) Then
' Enable this for debugging
'Debug.Print " Shape " & MyShape.ZOrderPosition & ", type: " & MyShape.Type & _
", has text frame: " & MyShape.HasTextFrame & ", has text: " & MyShape.TextFrame.HasText & _
", alt. text: " & MyShape.AlternativeText
MyShape.TextFrame.TextRange.LanguageID = LangID
End If
End Function
我在使用德语PowerPoint制作的演示文稿中也遇到了同样的问题,并被手动翻译成英语。问题在于,语言设置基本上是一种格式化,它是单独应用于每个文本框元素的。
我不知道有什么方便的解决方案–我不得不要么忍受这种不匹配,要么手动改变每张幻灯片上每个单独文本框的语言 “格式"。这并不好玩,所以大部分时间我都是忍着。