it-swarm.asia

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

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.

40
Leonardo

Bu kon 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 Editor'a 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, istenen herhangi bir dille değiştirilebilir. Dillerin tam listesi burada bulabilirsiniz .

  3. Makroyu çalıştır (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.

17
Leonardo

Bir cevabın çoktan kabul edildiğini biliyorum (ki işe yaradı ve iyi yazıldığından beri + 1 verdim), ancak bazı insanlara bir 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 kolayca elde edilir (ne yazık ki, az kullanılan bir özellik, ancak yeniden düzenlemek için harikadır) tüm parçaların tanıtılması ve indirgenmesi, örneğin mermiler> yeni slaytlar veya tersi gibi).

PowerPoint 2002'ye ("XP") sahip değilim, bu nedenle 2000 veya 2003 için yönergeleri izlemeniz gerekip gerekmediğinden emin değilim, bu yüzden ikisini de burada kapsarı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üyor).
  • PP 2003 sonrası : "Normal" görünüme (üç bölme düzeni) gidin ve slayt gezgininin en üstündeki "slaytlar" yerine "anahat"

Eski sürümlerde, Anahat araç çubuğunu görünür kıldığınızdan emin olun (View > Toolbars > Outlining) ve tıklayın Expand all butonu (sonraki sürümler bunu sağ tıklamayla almanıza izin verir).

  • Ctrl-A Tümünü seçmek için.
  • Tools > Language > Ayarlanacak dili seçin.
  • (PowerPoint 2013'ten) REVIEW > Language > Prova 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 editörü 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.

33
AdamV

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.

3
Jan Schejbal

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ırmak ve 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ı öğesini 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.

1
pjemmert

Aynı zamanda Almanca PowerPoint ile yapılan ve manuel olarak İngilizceye çevirilen sunumlarda da sorun yaşadım. Sorun şu ki dil ayarı aslında her metin kutusu öğesine uygulanan bir biçimlendirmedir kendi başına.

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.

Leonardo tarafından gönderilen kod basit ve genel olarak etkilidir, ancak gruplardaki Shapes öğesini etkilemez. Daha genel bir kod, bu durumla da başa çıkmak için özyinelemeyi kullanır ( burada 'dan biraz değişti, ki bu da Leonardo'nun koduyla aynı dizidedir):

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