PowerPoint 프레젠테이션에서 맞춤법 검사 언어 변경


42

수십 개의 슬라이드가있는 PowerPoint 프레젠테이션을 받았으며 각 슬라이드에는 여러 개의 텍스트 상자가 있습니다. 프레젠테이션은 영어로 작성되지만 맞춤법 검사 언어는 캐나다 프랑스어로 설정됩니다. 언어를 영어로 변경하려고하는데 모든 슬라이드를 선택하고 언어 대화 상자에서 새 요소를 선택하더라도 텍스트 상자의 언어는 동일하게 유지됩니다. 텍스트 상자를 선택한 다음 언어를 개별적으로 변경하여 슬라이드로 이동해야합니다.

더 좋은 방법이 있습니까?

내가 설치 한 PowerPoint 버전은 2002 SP3입니다.


답변을 추가 할 수 없습니다 (충분한 담당자가 있음에도 불구하고). mac 사용자의 경우 : macscripter.net/viewtopic.php?id=38622 는 많은 용도로 수정할 수있는 놀라운 애플 스크립트를 제공합니다.
Etienne Low-Décarie

답변:


34

나는 대답이 이미 받아 들여 졌음을 알고 있지만 (작동하고 잘 쓰여진 이후 +1을 주 었음) 일부 사람들에게는 매크로를 사용하여 생성, 저장, 저장하는 아이디어가 너무 무섭거나 보안 설정이있을 수 있습니다 달성하기 어려운 장소). 따라서 더 쉬운 해결책은 일반적인 내장 기능을 사용하여이를 수행하는 것입니다. 비결은 슬라이드 자체가 아니라 모든 슬라이드의 모든 객체를 한 번에 선택할 수있게하는 것입니다. 아웃 라인보기 (슬프게 사용되지 않는 기능이지만 슬라이드 데크 재구성, 승격 및 강등에 적합) 에서 쉽게 달성 할 수 있습니다. 글 머리 기호> 새 슬라이드 또는 그 반대로).

PowerPoint 2002 ( "XP")가 없으므로 2000 또는 2003에 대한 지침을 따라야하는지 확실하지 않으므로 여기에 모두 설명되어 있습니다.

  • PP 2000의 경우 : 화면 왼쪽 하단의 왼쪽에서 두 번째 아이콘 인 개요보기로 이동합니다 (들여있는 줄 모양).
  • PP 2003 이상 : "일반"보기 (3 개의 창 레이아웃)로 이동하여 슬라이드 탐색기의 맨 위에서 "슬라이드"대신 "개요"를 선택하십시오.

이전 버전에서는 표시 도구 막대 윤곽이 있는지 확인 ( View> Toolbars> Outlining)와 클릭 Expand all(이후 버전에서는 마우스 오른쪽 버튼을 클릭 통해 얻을 수 있도록) 버튼을 누릅니다.

  • Ctrl-A 모두 선택합니다.
  • Tools>> Language설정할 언어를 선택하십시오.
  • (Powerpoint 2013에서) REVIEW>> Language언어 교정 언어 설정

작업이 완료되었습니다.

마찬가지로 모든 항목을 선택한 상태에서 글꼴, 색상 등과 같은 다른 항목을 변경할 수 있습니다. 물론 많은 경우에 슬라이드 마스터를 변경하면이 작업을 수행하는 것이 좋습니다. 많은 편집자가있는 프레젠테이션에는 많은 '하드'서식 설정이있을 수 있습니다. 기본 마스터에서 벗어나 일관성을 유지하기 위해 재설정해야합니다. 개별 슬라이드를 마스터 스타일로 재설정 할 수도 있지만이 경우 자리 표시 자도 함께 움직일 수 있으며 일부 상황에서는 바람직하지 않을 수 있습니다.


간단히 말해 : 아마도 다음 문장을 굵게 표시하여 해결책을 즉시 명확하게 알 수 있습니다. 개요보기 '
Rabarberski

2
감사합니다 AdamV, 좋은 답변입니다! 그러나이 방법의 문제점은 슬라이드에 텍스트 상자를 추가 한 방법에 따라 개요보기에 표시되지 않을 수 있다는 것입니다. 프레 젠 테이션에서 거의 모든 객체가 수정해야 할 거의 대부분의 경우였습니다.
Leonardo

그렇습니다. 사람들이 많은 독립 텍스트 상자를 추가하면 게시 된 원래 매크로와 같은 방법을 사용하여 선택해야합니다.
AdamV

나에게 이것은 PowerPoint 2010의 기존 텍스트에서만 작동했습니다. 새로 추가 된 텍스트의 경우 특정 경우 언어가 계속 변경됩니다.
Pieter

이것은 이것을 처리하는 가장 깨끗한 방법입니다. 2013 버전에서도 작동합니다.
GoTTimw

18

이 스레드 에는 저에게 효과적 인 답변 포함되어 있습니다.

내가 따르는 단계는 다음과 같습니다.

  1. 새로운 매크로를 생성합니다 :
    1.1. 도구, 매크로, Visual Basic Editor로 이동하십시오.
    1.2. 삽입, 모듈을 선택하여 비어있는 새 모듈을 삽입하십시오.
  2. 이 코드를 오른쪽 패널에 붙여넣고 매크로를 저장하십시오.

    Option Explicit  
    Public Sub ChangeSpellCheckingLanguage()  
        Dim j As Integer, k As Integer, scount As Integer, fcount 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 = msoLanguageIDEnglishAUS
                End If
            Next k
        Next j
    End Sub
    

    msoLanguageIDEnglishAUS원하는 언어로 대체 할 수 있습니다. 언어의 전체 목록은 여기에서 찾을 수 있습니다 .

  3. 매크로를 실행하십시오 (편집기에서 F5를 누르거나 도구, 매크로, 매크로, ChangeSpellCheckingLanguage를 선택하고 실행을 클릭하여).

그 후 프리젠 테이션 내의 모든 텍스트 요소는 새로운 철자 언어를 갖습니다.


1
이 코드 Shape는 그룹의 s에 영향을 미치지 않습니다 . 보다 일반적인 코드는 superuser.com/a/1119420/245595
sancho.s에서

3

손으로 직접 작성하거나 일회성 매크로를 사용한 많은 프레젠테이션을 마친 후에 마침내 파산하여 적절한 PowerPoint 추가 기능으로 만들었습니다.

내 웹 사이트에 업로드했습니다. PowerPoint LanguageFixer

다음을 처리합니다.

  • 기본 언어 설정
  • 텍스트 프레임이있는 모든 모양
  • 그룹화 된 모양의 텍스트 프레임 (가능한 한)
  • 테이블의 텍스트
  • 슬라이드 / 노트 / 유인물 마스터에있는 물건

텍스트 상자 중 하나를 원하는 언어로 설정하고 선택한 다음 버튼을 클릭하십시오.


1

상황에 따라 두 가지 옵션이 있습니다.


상황 1 : 원본 Office는 캐나다 프랑스어 기반 설치 미디어에서 설치되었습니다.

기본 언어를 영어로 설정할 수 있지만 핵심 기능은 설치 매체의 자국어를 사용합니다.

유일한 해결책은 캐나다 프랑스어 버전을 제거하고 영어 기반 설치 미디어에서 설치하거나 전체 프레젠테이션을 새 문서에 복사 / 붙여 넣기하여 다시 포맷하는 것입니다.

.


상황 2 : 모든 것이 영어 인 것 같지만 제한된 상황에서는 외국어가 나타납니다.

이 상황에서 Office 2002에 대한 복구 지침은 다음과 같습니다.

  1. 시작 메뉴를 클릭하십시오
  2. 프로그램을 가리킨다
  3. Microsoft Office 도구를 가리 킵니다.
  4. Microsoft Office XP 언어 설정을 클릭하십시오.
  5. 사용 가능한 언어 탭을 클릭하십시오.
  6. 기본 버전의 Microsoft Office 상자로 이동
  7. 원하는 언어를 선택하십시오
  8. 확인을 클릭하십시오. 변경 내용을 알려주는 메시지가 나타납니다.
  9. 계속을 클릭하십시오

이게 도움이 되길 바란다.


답변 주셔서 감사합니다! 그러나 그러한 상황은 아니었다. 철자 검사를 위해 모든 텍스트 상자를 다른 언어로 설정할 수 있으며이 시나리오에서는 모든 요소의 언어가 잘못되었습니다. 시스템 (및 사무실 설치)의 기본 언어는 영어입니다.
레오나르도

0

독일어 PowerPoint로 만든 프레젠테이션과 수동으로 영어로 번역 할 때도 같은 문제가있었습니다. 문제는 언어 설정이 기본적으로 각 텍스트 상자 요소적용되는 서식이라는 것입니다 .

편리한 해결책을 모릅니다. 불일치로 살아 가거나 각 슬라이드에있는 각 개별 텍스트 상자의 언어 "형식"을 수동으로 변경해야했습니다. 재미 있지 않기 때문에 나는 주로 그것과 함께 산다.


0

Leonardo게시 한 코드 는 간단하고 일반적으로 효과적이지만 Shape그룹 의 코드 에는 영향을 미치지 않습니다 . 보다 일반적인 코드는 재귀를 사용 하여이 경우도 처리합니다 ( Leonardo의 코드와 동일한 스레드에있는 here 에서 약간 변경됨 ).

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
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.