PowerPoint sunumunda yazım denetimi dilini değiştirme


42

Her biri birkaç tane metin kutusuyla birlikte düzinelerce slayt içeren bir PowerPoint sunumu aldım. Sunum İngilizce olarak yazılmış olsa da, yazım denetimi dili Kanada Fransızcası olarak ayarlanmıştır. Dili İngilizce olarak değiştirmeye çalışıyorum, ancak tüm slaytları seçip Dil iletişim kutusundan yeni bir öğe seçsem bile, metin kutularının dili aynı kalıyor. Bu yüzden, metin kutularını seçerek ve ardından dili ayrı ayrı değiştirerek kaydırarak kaymaya gitmem gerekiyor.

Bunu yapmanın daha iyi bir yolu var mı?

Yüklemiş olduğum PowerPoint sürümü 2002 SP3'tür.


Bir cevap eklemek gibi görünmüyor (yeterli rep olmasına rağmen). Dışarıdaki mac kullanıcıları için: macscripter.net/viewtopic.php?id=38622 , birçok kullanım için değiştirilebilen inanılmaz bir elma betiği sunar.
Etienne Low-Décarie

Yanıtlar:


34

Bir cevabın çoktan kabul edildiğini biliyorum (çalıştığından ve iyi yazıldığından beri + 1 verdim), ancak bazılarına makro oluşturma, kaydetme, kullanma fikri çok korkutucu olabilir (veya güvenlik ayarları olabilir. bunu başarmayı zorlaştıran yer). Bu nedenle daha kolay bir çözüm, bunu yapmak için normal yerleşik işlevselliği kullanmaktır. İşin püf noktası, slaytların kendisinden ziyade tüm slaytlardaki tüm nesneleri tek seferde seçebilmektir ve bu, Anahat görünümünde (ne yazık ki az kullanılmış bir özelliktir, ancak bir slayt destesini yeniden düzenlemek, tanıtmak ve indirgemek için harika) kolayca elde edilebilir. bütün parçalar, örneğin, mermiler> yeni slaytlar veya tersi).

PowerPoint 2002'ye ("XP") sahip değilim, bu yüzden 2000 veya 2003 için yönergeleri izlemeniz gerekip gerekmediğinden emin değilim, bu yüzden ikisini de burada ele alacağım:

  • PP 2000'de : Ekranın sol alt kısmındaki soldan ikinci simge olan anahat görünümüne gidin (çentikli çizgiler gibi görünür).
  • PP 2003'te : "Normal" görünüme (üç bölme düzeni) gidin ve slayt gezgininin üst kısmında "slaytlar" yerine "anahattı" seçin

Eski sürümlerinde, görünür bir araç çubuğu anahat'ı olduğundan emin olun ( View> Toolbars> Outlining) ve tıklama Expand all(sonraki sürümlerinde doğru tıklama yoluyla şuna izin) butonuna.

  • Ctrl-A Tümünü seçmek için
  • Tools>> LanguageAyarlanacak dili seçin.
  • (Powerpoint 2013'ten itibaren) REVIEW>> LanguageProva Dilini Ayarla

İş bitmiş.

Aynı şekilde seçili olan her şeyi seçtiyseniz, yazı tipi, renk vb. Diğer şeyleri de değiştirebilirsiniz. Elbette, çoğu durumda, slayt yöneticisini değiştirerek daha iyi yapılabilse de, birçok düzenleyiciye sahip olan bir sunumda çok sayıda 'zor' biçimlendirme kümesi olabilir. altta yatan ana aygıttan sapmalar ve tutarlı olması için sıfırlama gerekiyor. Tekli slaytları ana stile de sıfırlayabilirsiniz, ancak bu durum yer tutucuların da hareket etmesine neden olabilir, bu bazı durumlarda istenmeyen olabilir.


Sadece kısa bir not: çözümün hemen netleşmesi için belki aşağıdaki cümleyi cesurlaştırın: “İşin püf noktası, slaytların kendisinden ziyade tüm slaytlardaki tüm nesneleri tek seferde seçebilmektir ve bu kolayca elde edilir. Anahat görünümünde '
Rabarberski

2
Teşekkürler AdamV, harika cevap! Bununla birlikte, bu yaklaşımla ilgili sorun, metin kutularının slayta nasıl eklendiğine bağlı olarak, anahat görünümünde gösterilmemeleri olabilir. Sunumdaki hemen hemen her nesne için düzeltmem gereken durum buydu.
Leonardo,

Evet, insanlar çok fazla sayıda bağımsız metin kutusu eklerlerse, bunun yayınlanan orijinal makro gibi bir yöntem kullanılarak seçilmeleri gerekir.
AdamV

Benim için bu sadece PowerPoint 2010'daki mevcut metin üzerinde işe yaradı. Yeni eklenen metin için dil bazı durumlarda değişmeye devam edecek.
Pieter

Bu, bununla başa çıkmanın en temiz yoludur. 2013 versiyonunda da çalışıyor.
GoTTimw

18

Bu konu benim için işe yarayan cevabı içeriyor.

İzlediğim adımlar şunlardı:

  1. Yeni bir makro oluşturun:
    1.1. Araçlar, Makro, Visual Basic Düzenleyicisi'ne gidin.
    1.2. Ekle, Modül'ü seçerek yeni bir boş modül yerleştirin.
  2. Bu kodu sağ panoya yapıştırın ve makroyu kaydedin:

    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İstediğiniz dil ile değiştirilebilir. Dillerin tam listesi burada bulunabilir .

  3. Makroyu yürütün (düzenleyicide F5 tuşuna basarak veya Araçlar, Makro, Makrolar, ChangeSpellCheckingLanguage ve Çalıştır'ı tıklatarak).

Bundan sonra sunum içindeki tüm metin öğeleri yeni yazım diline sahip olacaktır.


1
Bu kod Shapegrupları s olarak etkilemeyecektir . Superuser.com/a/1119420/245595
adresinde

3

El ile yaptığım veya bir kerelik bir makro kullandığım birçok sunumdan sonra, sonunda ayrıldım ve uygun bir PowerPoint Eklentisine dönüştürdüm.

Web siteme yükledim: PowerPoint LanguageFixer

Bu ilgilenir:

  • varsayılan dili ayarlamak
  • Metin çerçeveli tüm şekiller
  • gruplanmış şekillerde metin çerçeveleri (mümkün olduğunca)
  • tablolardaki metin
  • slayt / not / çalışma kağıdı ana sayfalarındaki şeyler

Sadece metin kutularından birini istediğiniz dile ayarlayın, seçin ve düğmesine tıklayın.


1

Durumunuza bağlı olarak iki seçenek:


Durum 1: Office'in orijinli kopyası Kanada Fransızcası tabanlı bir yükleme medyasından kuruldu.

Varsayılan dili İngilizce'ye ayarlayabileceksiniz, ancak temel işlevler kurulum medyasının ana dilini kullanacak.

Tek düzeltme, Kanada Fransızcası sürümünü kaldırmak ve İngilizce tabanlı bir yükleme ortamından yüklemek veya tüm sunumu kopyalayıp yeni bir belgeye yapıştırıp yeniden biçimlendirmektir.

.


Durum 2: Her şey İngilizce görünüyor, ancak sınırlı durumlarda yabancı diller görünüyor.

Bu durumda, Office 2002 için onarım yönergeleri şunlardır:

  1. Başlat menüsünü tıklayın
  2. Programları Göster
  3. Microsoft Office Araçları'nın üzerine gelin
  4. Microsoft Office XP Dil Ayarları'nı tıklayın.
  5. Etkin Diller sekmesini tıklayın.
  6. Microsoft Office kutusunun varsayılan sürümüne gidin.
  7. İstediğiniz dili seçin
  8. Tamam'a tıklayın. Hangi değişikliklerin yapılacağını bildiren bir mesaj görünecektir.
  9. Devam Et'i tıklayın.

Umarım bu yardımcı olur.


Cevabınız için teşekkürler! Yine de bu durumlardan hiçbiri değildi. Olan, her metin kutusunun yazım denetimi için farklı bir dile ayarlanabilmesi ve bu senaryoda tüm öğelerin yanlış dili olması. Sistemdeki (ve ofis kurulumundaki) varsayılan dil İngilizce'dir.
Leonardo,

0

Aynı zamanda Almanca PowerPoint ile yapılan ve manuel olarak İngilizceye çevirilen sunumlarda da sorun yaşadım. Sorun, dil ayarının temelde her metin kutusu öğesine kendi başına uygulanan bir format olması .

Uygun bir çözümün farkında değilim - uyumsuzlukla yaşamak zorunda kaldım ya da her slayttaki her bir metin kutusunun dilini "biçimini" elle değiştirdim. Eğlenceli değil, bu yüzden çoğunlukla bununla yaşıyorum.


0

Leonardo tarafından gönderilen kod basit ve genellikle etkilidir, ancak Shapes'yi gruplar halinde etkilemeyecektir . Daha genel bir kod, bu durumla da başa çıkmak için özyinelemeyi kullanır ( buradan az önce Leonardo'nun koduyla aynı konuya göre değişir ):

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
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.