Bagaimana cara mengubah bahasa semua slide Powerpoint sekaligus?

152

Meskipun utas ini cukup lama, Microsoft tidak memberikan solusi yang saya tahu. Saya menyarankan pendekatan lain untuk pengguna Mac: buka presentasi Anda di Keynote, ubah bahasa ejaan dan mungkin edit seluruh presentasi Anda, lalu ekspor ke PowerPoint.

liamzebedee
sumber
7
Kemungkinan rangkap dari Ubah bahasa pemeriksa ejaan pada presentasi PowerPoint
sancho.s
1
Tampaknya versi terbaru PowerPoint sangat bermasalah dalam hal ini. Saya memiliki kotak teks di mana saya telah mengubah bahasa semua teks menjadi bahasa A. (Bahasa default adalah B.) Jadi ketika saya mulai mengetik dalam kotak teks itu, bahasa secara otomatis berubah menjadi B. Saya pikir mungkin mengubah default bahasa membantu (setelah mencoba yang lain) tetapi tidak. Sekarang bahasa default adalah A, bahasa semua teks lain dalam kotak teks adalah A (dan saya telah memulai kembali PP) tetapi semua teks baru masih muncul sebagai B. Jadi satu-satunya pertanyaan saya yang tersisa adalah: apakah ada cara untuk beralih pemeriksaan off sama sekali?
lebatsnok
Ya ada cara untuk mematikan pemeriksaan ejaan: support.microsoft.com/en-us/help/937422/… - menyelesaikan masalah saya!
lebatsnok

Jawaban:

166

Untuk mengubah bahasa seluruh PowerPoint dengan mudah, buka tab View dan pilih tampilan Outline .

Sekarang tekan

  • Ctrl+ Auntuk memilih semua.
  • AlatBahasa → Pilih bahasa Anda untuk ditetapkan.

Demikian juga ketika Anda memiliki semua yang dipilih, Anda dapat mengubah hal-hal lain seperti font, warna dll. Meskipun tentu saja dalam banyak kasus ini lebih baik dilakukan dengan mengubah slide master, presentasi yang memiliki banyak editor mungkin memiliki banyak set format 'keras' yang menyimpang dari master yang mendasarinya dan perlu mengatur ulang agar konsisten. Anda juga dapat mengatur ulang slide individual ke gaya master, tetapi ini dapat menyebabkan placeholder bergerak juga, yang mungkin tidak diinginkan dalam beberapa situasi.

PowerPoint 2013

  • LihatGaris Besar → pilih semua slide (dalam menu kiri) melalui Ctrl+ A.
  • TinjauBahasaTetapkan Bahasa Pembuktian ... → Pilih bahasa Anda untuk diatur.

Bagi saya - restart PowerPoint diperlukan. Mungkin karena saya juga mengubah Bahasa Editing :

  • TinjauBahasaSetel Bahasa Pemeriksaan ...Preferensi BahasaPilih Bahasa yang Diedit .
Mastergalen
sumber
31
Terima kasih atas jawabannya, tetapi setelah mengubah bahasa, teks yang baru diketik masih dalam bahasa sebelumnya (yang default). Selain itu, jika Anda pergi ke slide master, pilih slide , Anda akan melihat, bahwa bahasa di bilah bahasa masih yang default, dan menu untuk mengubahnya adalah abu-abu. Saya menjadi gila karena itu tidak diselesaikan oleh Microsoft selama bertahun-tahun.
Endrju
1
Luar biasa! Meskipun tidak sempurna, itu pasti membantu. Saya setuju dengan @Endrju, mengapa ini belum diperbaiki ?!
Mike
1
Sebagai catatan, di Office 2013, menu Language ada di panel Review (Set Proofing Language)
Maria Ines Parnisari
2
Powerpoint sangat buruk, bukan? Saya benar-benar rindu menggunakan kantor terbuka ketika saya memiliki masalah seperti ini. Saya akan kembali ke kantor terbuka segera setelah mereka mendukung penyimpanan ke video.
mjaggard
2
Keterbatasan utama ini adalah bahwa jika seseorang dengan kebijaksanaan tak terbatas membuat kotak teks khusus alih-alih menggunakan tata letak Judul + Konten yang tepat, ini tidak akan berfungsi.
Lilienthal
34

Menggunakan Powerpoint 2010 saya membuka menu Outline -

tab garis besar

Memilih semua teks (Ctrl + A), membuka menu bahasa dan mengatur bahasa pembuktian saya

opsi bahasa

Dan itu berhasil!

Menu bahasa terletak di tab pita Ulasan (setelah tab Peragaan Slide dan tidak terlihat pada tangkapan layar).

liamzebedee
sumber
4
Hanya berfungsi untuk satu slide
Helge Klein
9
Ini berfungsi untuk tata letak slide dasar. Itu tidak akan mengubah bahasa untuk teks di dalam kotak teks atau bersarang di dalam bentuk lain.
Duncan Jones
Bekerja di Office 2007 juga.
Alfredo Osorio
Bekerja di Office Mac juga.
Jim McKeeth
23

Jawaban yang ada berfungsi untuk teks yang ada di garis besar. Sayangnya dalam kasus saya ini tidak mencakup sebagian besar teks, termasuk gambar, tabel, dll.

Makro ini memecahkan masalah bagi saya:

 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

"MsoLanguageIDEnglishUS" yang digunakan dalam makro di atas dapat diganti dengan bahasa yang diinginkan. Daftar lengkap bahasa dapat ditemukan di artikel ini

(Kredit diberikan kepada Ganesh Kumar yang memposting makro asli di sini . Saya menambahkan dukungan untuk pengelompokan bentuk tingkat pertama. Untuk lebih meningkatkannya, makro dapat dibuat rekursif untuk mencari grup yang berisi grup lain, dll.)

Inigo
sumber
+1 Awal yang bagus. Lihat jawaban saya untuk versi yang sepenuhnya rekursif berdasarkan jawaban ini.
Duncan Jones
20

Saya memperbaiki jawaban Inigo untuk memberikan versi rekursif yang mengubah semua item ke bahasa yang diinginkan.

Versi ini akan menyelidiki secara rekursif setiap bentuk yang merupakan tipe grup. Beberapa eksperimen menyarankan itu msoGroupdan msoSmartArtmerupakan tipe grup - jangan ragu untuk menambahkan ke daftar itu jika Anda menemukan tipe bentuk lain yang dapat menampung objek teks.

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
Duncan Jones
sumber
1
Saat menjalankan ini di PowerPoint 16.10 pada OSX, saya mendapatkan:Compile error: Method or data member not found
Etienne Low-Décarie
10

Berdasarkan jawaban Inigo, Duncan, Maria dan DomDev, ini berfungsi untuk bentuk, tabel, grup, SmartArt, sekarang dan di masa depan:

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
tricasse
sumber
Adapun solusi lain, pada saat menjalankan ini di PowerPoint 16.10 di OSX, saya mendapatkan: Compile error: Method or data member not found. Ada solusi yang disarankan? Tampaknya menyoroti .DefaultLanguageID.
Etienne Low-Décarie
@ EtienneLow-Décarie: API mungkin telah berubah di PowerPoint 16; Saya tidak memilikinya jadi saya tidak bisa memeriksa, maaf.
tricasse
Bekerja untuk saya di Powerpoint 2016 pada Windows 7 (versi MS Office yang tepat adalah 16.0.11029.20108)
Christopher K.
Sempurna! Hanya perbaikan yang bisa saya pikirkan adalah mengubah bahasa untuk bagian slide notes juga :)
Marcus Mangelsdorf
7

Versi Duncan berfungsi baik untuk semua hal selain tabel. Saya menemukan kode lain yang tampaknya juga berfungsi dengan tabel: https://stackoverflow.com/questions/4735765/powerpoint-2007-set-language-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
Maria
sumber
5

Selain jawaban yang diberikan oleh Mastergalen dan untuk menanggapi komentar mengenai teks jenis baru:

Jika Anda perhatikan, bahasa itu akan secara otomatis berubah kembali setiap kali Anda mulai mengetik teks baru (yang sangat menjengkelkan), Anda harus mengubah bahasa default saat ini untuk PowerPoint:

  • pastikan jendela PowerPoint adalah jendela yang aktif
  • di Windows Taskbar(ya, sebenarnya tidak di PowerPoint), periksa apakah Language barterlihat,
    • jika tidak pergi ke Control Panel > Region and Language > Keyboards and Languages. Klik Change keybords..., beralih ke Language bartab dan centang Docked in the taskbaropsi. (ini dari Win7, jadi mungkin sedikit berbeda di versi lain).
  • aksi sekarang kunci - di Language bardalam bilah tugas, klik kode bahasa dan beralih ke EN (jika Anda ingin menggunakan bahasa Inggris di PowerPoint). Mulai sekarang, semua teks baru di PowerPoint akan menggunakan bahasa yang dipilih :-)
  • jika Anda ingin menulis dalam bahasa asli Anda, ubah saja kembali.
Gas
sumber
1
Ya Tuhan, mengapa mereka melakukan hal seperti itu ?! Terima kasih, bekerja dengan sempurna.
Thibault D.
1
Persis! harus ditambahkan ke jawaban yang diterima juga.
M. Abdelhafid
1
Tapi itu juga mengubah tata letak keyboard, bukan? ... Saya ingin mengetik teks bahasa Inggris tapi saya benar-benar ingin menjaga tata letak keyboard bahasa Jerman saya ....
Johannes S.
2
@JohannesS Jika Anda mengklik kanan Endi bilah tugas dan memilih Settings..Anda akan melihat di Bahasa yang diinstal Jerman (DE) dan Inggris (En), jika Anda memperluas bahasa Inggris, akan ada Keyboardsdaftar, perluas Papan Ketik, dan tambahkan papan ketik Jerman pilihan Anda, mungkin hapus bahasa Inggris juga. Saya tidak mencobanya, tetapi harus bekerja secara teori ;-)
Gas
Tunggu, jadi saya perlu mengubah bahasa keyboard saya jika saya ingin memiliki bahasa pemeriksaan yang berbeda? Itu bodoh.
Matěj Račinský
3

Saya membuat add-in kembali pada tahun 2014 untuk saya sendiri yang masih berfungsi dengan baik di PowerPoint 2016. https://github.com/wobba/officeaddin/releases/tag/v1.0.1

Ini memindai bahasa yang digunakan, dan memungkinkan Anda untuk mengubah sekaligus, mengulang.

masukkan deskripsi gambar di sini

Mikael Svenson
sumber