Làm cách nào để thay đổi ngôn ngữ của tất cả các slide Powerpoint cùng một lúc?


151

Mặc dù chủ đề này khá cũ, Microsoft đã không cung cấp giải pháp nào mà tôi biết. Tôi đề xuất một cách tiếp cận khác cho người dùng Mac: mở bản trình bày của bạn trong Keynote, thay đổi ngôn ngữ chính tả và có thể chỉnh sửa toàn bộ bản trình bày của bạn, sau đó xuất nó sang PowerPoint.



1
Có vẻ như phiên bản mới nhất của PowerPoint đặc biệt có lỗi về mặt này. Tôi có một hộp văn bản nơi tôi đã thay đổi ngôn ngữ của tất cả văn bản thành ngôn ngữ A. (Ngôn ngữ mặc định là B.) Vì vậy, khi tôi bắt đầu nhập vào hộp văn bản đó, ngôn ngữ sẽ tự động thay đổi thành B. Tôi nghĩ có thể thay đổi mặc định ngôn ngữ giúp (đã thử mọi thứ khác) nhưng không. Bây giờ ngôn ngữ mặc định là A, ngôn ngữ của tất cả các văn bản khác trong hộp văn bản là A (và tôi đã khởi động lại PP) nhưng tất cả văn bản mới vẫn xuất hiện là B. Vì vậy, câu hỏi duy nhất còn lại của tôi là: có cách nào để chuyển đổi bằng chứng không tắt hoàn toàn?
lebatsnok

Vâng, có một cách để kiểm tra chính tả: support.microsoft.com/en-us/help/937422/ Ấn - đã giải quyết vấn đề của tôi!
lebatsnok

Câu trả lời:


165

Để dễ dàng thay đổi ngôn ngữ của toàn bộ PowerPoint, hãy mở tab Xem và chọn chế độ xem Phác thảo .

Bây giờ bấm

  • Ctrl+ Ađể chọn tất cả.
  • Công cụNgôn ngữ → Chọn ngôn ngữ của bạn để đặt.

Tương tự như vậy trong khi bạn có mọi thứ được chọn, bạn có thể thay đổi những thứ khác như phông chữ, màu sắc, v.v. Mặc dù trong nhiều trường hợp, điều này được thực hiện tốt hơn bằng cách thay đổi slide master, một bài thuyết trình có nhiều trình chỉnh sửa có thể có nhiều định dạng 'cứng' lệch khỏi chủ cơ bản và cần thiết lập lại để được nhất quán. Bạn cũng có thể đặt lại các trang chiếu riêng lẻ theo kiểu chính, nhưng điều này có thể dẫn đến việc giữ chỗ cũng di chuyển, điều này có thể không mong muốn trong một số trường hợp.

PowerPoint 2013

  • XemPhác thảo → chọn tất cả các trang chiếu (trong menu bên trái) qua Ctrl+ A.
  • Xem lạiNgôn ngữĐặt ngôn ngữ kiểm chứng ... → Chọn ngôn ngữ của bạn để đặt.

Đối với tôi - Khởi động lại PowerPoint là cần thiết. Có lẽ bởi vì tôi cũng đã thay đổi Ngôn ngữ chỉnh sửa :

  • Xem lạiNgôn ngữĐặt ngôn ngữ kiểm chứng ...Tùy chọn ngôn ngữChọn ngôn ngữ chỉnh sửa .

31
Cảm ơn câu trả lời, nhưng sau khi thay đổi ngôn ngữ, văn bản mới được gõ vẫn ở ngôn ngữ trước đó (ngôn ngữ mặc định). Hơn nữa, nếu bạn đi đến các trang chiếu chính, hãy chọn trang chiếu , bạn sẽ nhận thấy rằng ngôn ngữ trong thanh ngôn ngữ vẫn là ngôn ngữ mặc định và menu để thay đổi nó bị mờ đi. Tôi đang phát điên vì nó đã không được Microsoft giải quyết trong nhiều năm.
Endrju

1
Tuyệt vời! Trong khi không hoàn hảo, nó chắc chắn sẽ giúp. Tôi đồng ý với @Endrju, tại sao điều này chưa được sửa?!
Mike

1
Đối với bản ghi, trong Office 2013, menu Ngôn ngữ nằm trong ngăn Đánh giá (Đặt Ngôn ngữ
Chứng minh

2
Powerpoint thật sự rất tệ phải không? Tôi thực sự nhớ sử dụng văn phòng mở khi tôi gặp vấn đề như thế này. Tôi sẽ quay lại mở văn phòng ngay khi họ hỗ trợ lưu video.
mjaggard

2
Hạn chế chính của điều này là nếu ai đó trong trí tuệ vô hạn của họ tạo ra hộp văn bản tùy chỉnh thay vì sử dụng bố cục Tiêu đề + Nội dung phù hợp, thì điều này sẽ không hoạt động.
Lilienthal

34

Sử dụng Powerpoint 2010 tôi đã mở menu Outline -

tab phác thảo

Đã chọn tất cả văn bản (Ctrl + A), mở menu ngôn ngữ và đặt ngôn ngữ kiểm chứng của tôi

tùy chọn ngôn ngữ

Va no đa hoạt động!

Menu ngôn ngữ nằm trên tab Xem lại dải băng (sau tab Trình chiếu và không hiển thị trên ảnh chụp màn hình).


4
Chỉ hoạt động cho một slide duy nhất
Helge Klein

9
Điều này làm việc cho bố trí slide cơ bản. Nó sẽ không thay đổi ngôn ngữ cho văn bản bên trong các hộp văn bản hoặc lồng trong các hình dạng khác.
Duncan Jones

Hoạt động trên Office 2007 cũng vậy.
Alfredo Osorio

Làm việc trên Office Mac cũng vậy.
Jim McKeeth

23

Các câu trả lời hiện có làm việc cho văn bản có mặt trong đề cương. Thật không may trong trường hợp của tôi, điều này không bao gồm một phần quan trọng của văn bản, bao gồm cả hình, bảng, v.v.

Macro này đã giải quyết vấn đề cho tôi:

 Sub ChangeProofingLanguageToEnglish()
    Dim j, k, m, scount, fcount, gcount 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 = msoLanguageIDEnglishUS
            End If
            If ActivePresentation.Slides(j).Shapes(k).Type = msoGroup Then
                gcount = ActivePresentation.Slides(j).Shapes(k).GroupItems.Count
                For m = 1 To gcount
                    If ActivePresentation.Slides(j).Shapes(k).GroupItems.Item(m).HasTextFrame Then
                    ActivePresentation.Slides(j).Shapes(k).GroupItems.Item(m) _
                    .TextFrame.TextRange.LanguageID = msoLanguageIDEnglishUS
            End If
                Next m
            End If
        Next k
    Next j
End Sub

"MsoL LanguageIDEnglishUS" được sử dụng trong macro ở trên có thể được thay thế bằng bất kỳ ngôn ngữ mong muốn nào. Danh sách đầy đủ các ngôn ngữ có thể được tìm thấy trong bài viết này

(Tín dụng đi vào Ganesh Kumar đã đăng vĩ mô ban đầu ở đây . Tôi thêm hỗ trợ cho cấp độ đầu tiên của hình dạng nhóm. Tiếp tục hoàn thiện nó vĩ mô có thể được thực hiện đệ quy để tìm kiếm các nhóm có chứa các nhóm khác, vv)


+1 Khởi đầu tốt. Xem câu trả lời của tôi cho một phiên bản đệ quy đầy đủ dựa trên câu trả lời này.
Duncan Jones

20

Tôi đã cải thiện câu trả lời của Inigo để cung cấp phiên bản đệ quy thay đổi tất cả các mục thành ngôn ngữ mong muốn.

Phiên bản này sẽ điều tra đệ quy từng hình dạng là một loại nhóm. Một số thử nghiệm cho thấy msoGroupmsoSmartArtlà các loại nhóm - vui lòng thêm vào danh sách đó nếu bạn tìm thấy các loại hình dạng khác có thể chứa các đối tượng văn bản.

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

1
Khi chạy cái này trong PowerPoint 16.10 trên OSX, tôi nhận được:Compile error: Method or data member not found
Etienne Low-Décarie

10

Dựa trên câu trả lời của Inigo, Duncan, Maria và DomDev, cách này hoạt động cho các hình dạng, bảng, nhóm, SmartArt, hiện tại và trong tương lai:

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

Đối với các giải pháp khác, khi chạy nó trong PowerPoint 16.10 trên OSX, tôi nhận được : Compile error: Method or data member not found. Bất kỳ giải pháp đề xuất? Nó dường như để làm nổi bật .DefaultLanguageID.
Etienne Low-Décarie

@ EtienneLow-Décarie: API có thể đã thay đổi trong PowerPoint 16; Tôi không có nó vì vậy tôi không thể kiểm tra, xin lỗi.
tricasse

Hoạt động với tôi trong Powerpoint 2016 trên Windows 7 (phiên bản MS Office chính xác là 16.0.11029.20108)
Christopher K.

Hoàn hảo! Cải thiện duy nhất tôi có thể nghĩ là thay đổi ngôn ngữ cho các phần ghi chú slide :)
Marcus Mangelsdorf

7

Phiên bản của Duncan hoạt động tốt cho mọi thứ trừ bảng. Tôi đã tìm thấy một mã khác dường như cũng hoạt động với các bảng: https://stackoverflow.com/questions/4735765/powerpoint-2007-set-lingu-on-tables-charts-etc-that-contains-text

Public Sub changeLanguage()
    On Error Resume Next
    Dim gi As GroupShapes '<-this was added. used below
    'lang = "English"
    lang = "Norwegian"
    'Determine language selected
    If lang = "English" Then
        lang = msoLanguageIDEnglishUK
    ElseIf lang = "Norwegian" Then
        lang = msoLanguageIDNorwegianBokmol
    End If
    'Set default language in application
    ActivePresentation.DefaultLanguageID = lang

    'Set language in each textbox in each slide
    For Each oSlide In ActivePresentation.Slides
        Dim oShape As Shape
        For Each oShape In oSlide.Shapes
            'Check first if it is a table
            If oShape.HasTable Then
                For r = 1 To oShape.Table.Rows.Count
                    For c = 1 To oShape.Table.Columns.Count
                    oShape.Table.Cell(r, c).Shape.TextFrame.TextRange.LanguageID = lang
                    Next
                Next
            Else
                Set gi = oShape.GroupItems
                'Check if it is a group of shapes
                If Not gi Is Nothing Then
                    If oShape.GroupItems.Count > 0 Then
                        For i = 0 To oShape.GroupItems.Count - 1
                            oShape.GroupItems(i).TextFrame.TextRange.LanguageID = lang
                        Next
                    End If
                'it's none of the above, it's just a simple shape, change the language ID
                Else
                    oShape.TextFrame.TextRange.LanguageID = lang
                End If
            End If
        Next
    Next End Sub

5

Ngoài câu trả lời do Mastergalen cung cấp và để giải quyết các bình luận liên quan đến văn bản mới gõ:

Nếu bạn sẽ nhận thấy, ngôn ngữ đó sẽ tự động thay đổi trở lại bất cứ khi nào bạn bắt đầu nhập văn bản mới (rất khó chịu), bạn phải thay đổi ngôn ngữ mặc định hiện tại cho PowerPoint:

  • đảm bảo cửa sổ PowerPoint là cửa sổ đang hoạt động
  • trong Windows Taskbar(có, thực tế không có trong PowerPoint), kiểm tra xem Language barcó hiển thị không,
    • nếu không đi Control Panel > Region and Language > Keyboards and Languages. Nhấp Change keybords..., chuyển sang Language bartab và kiểm tra Docked in the taskbartùy chọn. (đây là từ Win7, vì vậy có thể hơi khác một chút trong các phiên bản khác).
  • bây giờ hành động chính - trong Language barthanh tác vụ, nhấp vào mã ngôn ngữ và chuyển sang EN (nếu bạn muốn sử dụng tiếng Anh trong PowerPoint). Từ giờ trở đi, tất cả văn bản mới trong PowerPoint sẽ ở ngôn ngữ đã chọn :-)
  • nếu bạn muốn viết bằng ngôn ngữ gốc của bạn, chỉ cần thay đổi lại.

1
Chúa ơi, tại sao họ lại làm như vậy?! Cảm ơn bạn, đã làm việc hoàn hảo.
Thibault D.

1
Chính xác! nên được thêm vào câu trả lời được chấp nhận là tốt.
M. Abdelhafid

1
Nhưng điều đó cũng thay đổi cách bố trí bàn phím, phải không? ... Tôi muốn gõ văn bản tiếng Anh nhưng tôi thực sự muốn giữ bố cục bàn phím tiếng Đức của mình ....
Julian S.

2
@JohannesS. Nếu bạn nhấp chuột phải vào Enthanh tác vụ và chọn Settings..bạn sẽ thấy trong Ngôn ngữ đã cài đặt tiếng Đức (DE) và tiếng Anh (En), nếu bạn mở rộng tiếng Anh, sẽ có Keyboardsdanh sách, mở rộng Bàn phím và thêm bàn phím tiếng Đức ưa thích của bạn, có thể xóa tiếng Anh cũng thế. Tôi đã không thử nó, nhưng nên hoạt động trên lý thuyết ;-)
Gas

Đợi đã, vậy tôi cần thay đổi ngôn ngữ bàn phím nếu tôi muốn có ngôn ngữ kiểm chứng khác nhau? Thật là ngu xuẩn.
Matěj Račinský

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.