Изменение языка проверки орфографии в презентации PowerPoint

Я получил презентацию PowerPoint с десятками слайдов, каждый из них с несколькими текстовыми полями. Хотя презентация написана на английском языке, для проверки орфографии установлен канадский французский. Я пытаюсь изменить язык на английский, но даже если я выберу все слайды и выберу новый элемент в диалоговом окне язык, язык текстовых полей останется прежним. Таким образом, я должен пойти слайд за слайдом выбора текстовых полей, а затем изменить язык индивидуально.

есть ли лучший способ сделать это?

по версии PowerPoint, у меня установлен 2002 с пакетом обновления 3.

9
задан Tom Wijsman
27.04.2023 10:13 Количество просмотров материала 2439
Распечатать страницу

6 ответов

Я знаю, что ответ уже принят (который я дал +1, так как он работает и хорошо написан), но некоторым людям идея создания, сохранения, использования макроса может быть слишком страшной (или у них могут быть настройки безопасности, которые затрудняют достижение этого). Таким образом, более простое решение-использовать для этого обычную встроенную функциональность. хитрость заключается в том, чтобы иметь возможность выбрать все объекты на всех слайдах сразу, а не сами слайды, и это легко достигается в Схема (к сожалению, недоиспользуемая функция, но отлично подходит для реорганизации слайдов, продвижения и понижения целых кусков, например, пули > новые слайды или наоборот).

У меня нет PowerPoint 2002 ("XP"), так что я не уверен, если вам нужно следовать инструкциям для 2000 или 2003, так что я покрываю оба здесь:

  • В PP 2000: перейти к виду outline, который является вторым значком слева в левом нижнем углу экрана (выглядит как линии с углубления.)
  • В PP 2003 и далее: перейдите в" нормальный " вид (макет три панели) и в верхней части навигатора слайдов выберите "контур", а не "слайды"

в старых версиях убедитесь, что панель инструментов структуры видна (посмотреть > панели инструментов > описанием) и нажмите развернуть все кнопка (более поздние версии позволяют получить на это через право щелчок.)

  • Ctrl-A выбрать все.
  • Tools > язык > выбрать язык для установки.
  • (из Powerpoint 2013) комментарий > язык > установить язык проверки правописания

работу.

кроме того, пока у вас есть все, вы можете менять другие вещи, как шрифты, цвета и т. д. Хотя конечно во многих случаях это лучше сделать изменение мастера слайдов, презентация, которая имела много редакторов может иметь много "жесткий" набор форматирования, который отклоняется от базового мастера и нуждается в сбросе, чтобы быть последовательным. Вы также можете сбросить отдельные слайды в мастер-стиле, но это может привести к заполнители перемещения, а также, что может быть нежелательным в некоторых ситуациях.

33
отвечен AdamV 2023-04-28 18:01

этой теме содержится ответ, который работал для меня.

шаги, которые я следовал были:

  1. создать новый макрос:

    1.1. Перейдите в инструменты, макрос, редактор Visual Basic.

    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 и нажав кнопку Выполнить).

после этого все текстовые элементы в презентации будут иметь новый язык написания.

17
отвечен Leonardo 2023-04-28 20:18

после многих презентаций, где я сделал это вручную или использовать одноразовый макрос, я, наконец, сломал и сделал его в надлежащем PowerPoint надстройки.

Я загрузил его на свой сайт:PowerPoint LanguageFixer

Он отвечает за:

  • установка языка по умолчанию
  • все фигуры с текстовыми фреймами
  • текстовые фреймы в сгруппированных формах (насколько это возможно)
  • текст в таблицах
  • вещи на слайд/Примечание/образцов

просто установить одно из текстовых полей на нужный язык, выберите его и нажмите кнопку.

3
отвечен Jan Schejbal 2023-04-28 22:35

здесь два варианта в зависимости от вашей ситуации:


Ситуация 1: исходная копия Office была установлена с установочного носителя на основе канадского французского языка.

вы сможете задать язык по умолчанию на английский, но основные функции будут использовать родной язык носителя.

единственное исправление состоит в том, чтобы удалить канадскую французскую версию и установить с английского установочного носителя или скопировать / вставить вся презентация в новом формате doc.

.


Ситуация 2: все кажется английским, но в ограниченных обстоятельствах появляются иностранные языки.

в этой ситуации, вот инструкции по ремонту для Office 2002:

  1. Нажмите Меню Пуск
  2. программы
  3. пункт Microsoft Office Tools
  4. выберите языковые параметры Microsoft Office XP.
  5. перейдите на вкладку языки включены.
  6. перейти к версии Microsoft Office box по умолчанию
  7. Выберите язык, который вы хотите
  8. нажмите OK. Появится сообщение о том, какие изменения будут внесены.
  9. Нажмите Кнопку "Продолжить"

надеюсь, это поможет.

1
отвечен pjemmert 2023-04-29 00:52

У меня были те же проблемы с презентациями, сделанных с немецкой PowerPoint и вручную переведены на английский язык. Проблема в том, что настройка языка по существу форматирование, которое применяется к каждому элементу текстового поля самостоятельно.

Я не знаю ни одного удобного решения - мне пришлось либо жить с несоответствием, либо вручную изменять язык "формат" каждого отдельного текстового поля на каждом слайде. Не весело, так что в основном я живу с она.

0
отвечен Torben Gundtofte-Bruun 2023-04-29 03:09

код написал Леонардо просто и вообще эффективно, но оно не повлияет на Shapes в группах. Более общий код использует рекурсию, чтобы справиться с этим случаем тоже (немного изменен с здесь, который находится в той же нити, что и код Леонардо):

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
0
отвечен sancho.s 2023-04-29 05:26

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх