Thay đổi ngôn ngữ kiểm tra chính tả trên bản trình bày PowerPoint


42

Tôi đã nhận được một bản trình bày PowerPoint với hàng chục slide, mỗi slide có một số hộp văn bản. Mặc dù bài thuyết trình được viết bằng tiếng Anh, ngôn ngữ để kiểm tra chính tả được đặt thành tiếng Pháp Canada. Tôi đang cố gắng thay đổi ngôn ngữ sang tiếng Anh, nhưng ngay cả khi tôi chọn tất cả các trang chiếu và chọn một yếu tố mới trên hộp thoại Ngôn ngữ, ngôn ngữ của các hộp văn bản vẫn giữ nguyên. Vì vậy, tôi phải chuyển sang slide bằng cách chọn các hộp văn bản và sau đó thay đổi ngôn ngữ riêng lẻ.

Có cách nào tốt hơn để làm điều này?

Phiên bản PowerPoint tôi đã cài đặt là 2002 SP3.


Dường như không thể thêm câu trả lời (mặc dù có đủ đại diện). Đối với người dùng mac ngoài kia: macscripter.net/viewtopic.php?id=38622 cung cấp một tập lệnh apple tuyệt vời có thể được sửa đổi cho nhiều mục đích sử dụng.
Etienne Low-Décarie

Đây là một ý chính của các applescript
Etienne Low-Décarie

Câu trả lời:


34

Tôi biết một câu trả lời đã được chấp nhận (mà tôi đã đưa ra +1 vì nó hoạt động và được viết tốt), nhưng với một số người, ý tưởng tạo, lưu, sử dụng macro có thể quá đáng sợ (hoặc họ có thể có cài đặt bảo mật trong nơi làm cho điều này khó đạt được). Vì vậy, một giải pháp dễ dàng hơn là sử dụng chức năng tích hợp thông thường để làm điều này. Mẹo nhỏ là có thể chọn tất cả các đối tượng trên tất cả các slide cùng một lúc, thay vì chính các slide đó và điều này có thể dễ dàng đạt được trong chế độ Outline (đáng buồn là một tính năng không được sử dụng, nhưng tuyệt vời để sắp xếp lại một sàn trượt, quảng bá và hạ cấp toàn bộ khối, ví dụ như đạn> slide mới hoặc ngược lại).

Tôi không có PowerPoint 2002 ("XP") vì vậy tôi không chắc bạn cần làm theo hướng dẫn cho năm 2000 hay 2003 vì vậy tôi sẽ trình bày cả hai ở đây:

  • Trong PP 2000 : Chuyển đến chế độ xem phác thảo, là biểu tượng thứ hai từ bên trái ở dưới cùng bên trái của màn hình (trông giống như các dòng có vết lõm).
  • Trong PP 2003 trở đi : Chuyển đến chế độ xem "bình thường" (bố trí ba khung) và ở đầu trình điều hướng slide, chọn "phác thảo" thay vì "slide"

Trong các phiên bản cũ, chắc chắn rằng bạn có đề cương thanh công cụ có thể nhìn thấy ( View> Toolbars> Outlining) và nhấn vào Expand allnút (các phiên bản sau cho phép bạn có được điều này thông qua nhấp chuột phải).

  • Ctrl-A để chọn tất cả.
  • Tools>> LanguageChọn ngôn ngữ của bạn để thiết lập.
  • (từ Powerpoint 2013) REVIEW> Language> Ngôn ngữ Set Proofing

Công việc hoàn thành.

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.


Chỉ cần lưu ý nhanh: có thể làm cho câu sau được in đậm, để giải pháp được rõ ràng ngay lập tức: 'Bí quyết là có thể chọn tất cả các đối tượng trên tất cả các slide cùng một lúc, thay vì chính các slide và điều này dễ dàng đạt được trong chế độ xem Phác thảo '
Rabarberski

2
Cảm ơn AdamV, câu trả lời tuyệt vời! Tuy nhiên, vấn đề với cách tiếp cận này là tùy thuộc vào cách các hộp văn bản được thêm vào trang chiếu, chúng có thể không hiển thị trong chế độ xem phác thảo. Đó là trường hợp khá nhiều đối với hầu hết mọi đối tượng trong bài thuyết trình mà tôi phải sửa.
Leonardo

Có, tôi đoán nếu mọi người thêm nhiều hộp văn bản độc lập thì chúng cần phải được chọn bằng phương thức như macro ban đầu được đăng.
AdamV

Đối với tôi, điều này chỉ hoạt động trên văn bản hiện có trong PowerPoint 2010. Đối với văn bản mới được thêm vào, ngôn ngữ vẫn sẽ thay đổi trong một số trường hợp nhất định.
Pieter

Đây là cách tốt nhất để đối phó với điều này. Nó hoạt động trong phiên bản 2013 quá.
GoTTimw

18

Chủ đề này chứa câu trả lời làm việc cho tôi.

Các bước tôi làm theo là:

  1. Tạo một macro mới:
    1.1. Chuyển đến Công cụ, Macro, Trình soạn thảo Visual Basic.
    1.2. Chèn một mô-đun trống mới bằng cách chọn Chèn, Mô-đun.
  2. Dán mã này vào bảng bên phải và lưu macro:

    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
    

    msoLanguageIDEnglishAUScó thể được thay thế bởi bất kỳ ngôn ngữ mong muốn. Danh sách đầy đủ các ngôn ngữ có thể được tìm thấy ở đây .

  3. Thực thi macro (bằng cách nhấn F5 trong trình chỉnh sửa hoặc bằng cách chọn Công cụ, Macro, Macro, ChangeSpellCheckingL Language và nhấp vào Chạy).

Sau đó, tất cả các thành phần văn bản trong bản trình bày sẽ có ngôn ngữ chính tả mới.


1
Mã này nó sẽ không ảnh hưởng đến Shapes trong nhóm. Một mã chung hơn được đăng trong superuser.com/a/1119420/245595
sancho.s Tái lập lại

3

Sau nhiều bài thuyết trình mà tôi đã làm bằng tay hoặc sử dụng macro một lần, cuối cùng tôi đã phá vỡ và biến nó thành một Bổ trợ PowerPoint thích hợp.

Tôi đã tải nó lên trang web của mình: PowerPoint LanguageFixer

Nó chăm sóc:

  • thiết lập ngôn ngữ mặc định
  • tất cả các hình dạng với khung văn bản
  • khung văn bản trong các hình dạng được nhóm (càng xa càng tốt)
  • văn bản trong bảng
  • công cụ trên slide / ghi chú / handout master

Chỉ cần đặt một trong các hộp văn bản thành ngôn ngữ bạn muốn, chọn nó và nhấp vào nút.


1

Đây là hai tùy chọn tùy thuộc vào tình huống của bạn:


Tình huống 1: Bản sao gốc của Office đã được cài đặt từ phương tiện cài đặt dựa trên ngôn ngữ tiếng Pháp của Canada.

Bạn sẽ có thể đặt ngôn ngữ mặc định thành tiếng Anh, nhưng các chức năng cốt lõi sẽ sử dụng ngôn ngữ bản địa của phương tiện cài đặt.

Cách khắc phục duy nhất là gỡ cài đặt phiên bản tiếng Pháp của Canada và cài đặt từ phương tiện cài đặt dựa trên tiếng Anh hoặc sao chép / dán toàn bộ bản trình bày vào tài liệu mới và định dạng lại.

.


Tình huống 2: Mọi thứ dường như là tiếng Anh, nhưng trong một số trường hợp hạn chế, ngoại ngữ xuất hiện.

Trong tình huống này, đây là hướng dẫn sửa chữa cho Office 2002:

  1. Nhấp vào menu Bắt đầu
  2. Chỉ vào chương trình
  3. Trỏ tới Microsoft Office Tools
  4. Bấm vào Cài đặt ngôn ngữ Microsoft Office XP.
  5. Nhấp vào tab Ngôn ngữ được bật.
  6. Chuyển đến phiên bản mặc định của hộp Microsoft Office
  7. Chọn ngôn ngữ bạn muốn
  8. Nhấn OK. Một thông báo sẽ xuất hiện cho bạn biết những thay đổi sẽ được thực hiện.
  9. Nhấp vào Tiếp tục

Tôi hi vọng cái này giúp được.


Cảm ơn câu trả lời của bạn! Tuy nhiên, đó không phải là bất kỳ tình huống nào. Điều xảy ra là mỗi hộp văn bản có thể được đặt thành một ngôn ngữ khác để kiểm tra chính tả và trong trường hợp cụ thể này, tất cả các yếu tố có ngôn ngữ sai. Ngôn ngữ mặc định trong hệ thống (và trong cài đặt văn phòng) là tiếng Anh.
Leonardo

0

Tôi đã gặp vấn đề tương tự với các bài thuyết trình được thực hiện bằng PowerPoint tiếng Đức và được dịch thủ công sang tiếng Anh. Vấn đề là cài đặt ngôn ngữ về cơ bản là một định dạng được áp dụng cho từng thành phần hộp văn bản .

Tôi không biết về bất kỳ giải pháp tiện lợi nào - tôi đã phải sống với sự không phù hợp hoặc thay đổi thủ công "định dạng" ngôn ngữ của từng hộp văn bản riêng lẻ trên mỗi trang chiếu. Không vui, nên chủ yếu tôi sống với nó.


0

Mã được đăng bởi Leonardo rất đơn giản và thường có hiệu quả, nhưng nó sẽ không ảnh hưởng đến Shapecác nhóm. Một mã chung hơn cũng sử dụng đệ quy để xử lý trường hợp đó (thay đổi một chút từ đây , nằm trong cùng một chuỗi với mã của 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
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.