PowerPoint 2007'ye toplam slayt sayısı ekleme


25

Bir PowerPoint sunumunda toplam slayt miktarını dipnota eklemek mümkün müdür? Otomatik bir yol arıyorum.

Elbette altbilgiyi düzenleyebilir ve manuel olarak yerleştirebilirdim, ancak slaytları arttırıp / azaltabilirsem, ayarlamak gerekli olacaktır. Ve bu her zaman unuttuğumuz bir şey.

Microsoft'tan yardım elle yapmak açıklar. PowerPoint'in sahip olmadığına inanamıyorum ...


1
"İnsert> field" seçeneği powerpoint'te mevcut değil mi? Bu kelimeyi böyle yapardım ...
Seamus

Evet, aradığım şey buydu. 2007’de yeniyim ve bulamıyorum.
Bob Rivers,

evet, Powerpoint'te alanlar yok, bu yüzden işe yaramaz.
BBlake

4
Bu çok temel özelliğe hala bir eklentiye ihtiyacımız olması ne kadar rahatsız edici? Yıllardır bu sorunu yaşadım ...

Yanıtlar:


2

Oluşturduğunuz her sunuya yalnızca otomatik olarak ekleyecek bir seçenek veya yapılandırma ayarı arıyorsanız, bir tane yoktur. Ancak, Üstbilgi veya Altbilgiyi düzenlerseniz, otomatik olarak oradaki slayt numaralarını ekleyebilir ve tüm slaytlarda görünmelerini sağlayabilirsiniz.

http://office.microsoft.com/en-us/powerpoint/HA101181931033.aspx


2
Evet, okuduğum makale bu. El ile "10" koymak zorunda olmak istemiyorum. Gibi bir şey arıyorum <#> <##> ...
Bob Rivers

1
Ahh, tamam, evet, bu sadece sayfa numarasını istiyorsan işe yarar. Eğer "toplam slayt" istiyorsanız, hızlı bir çözüm yoktur. Aklıma gelen tek çözüm, bunu başarmak için VBA'yı (Uygulamalar için Visual Basic) kullanmak. İşe yarayacağını biliyorum ama biraz karmaşık olabilir.
BBlake

@ BBlake Haklısın. Bunu başarmak için VBA gereklidir. Bunun nasıl yapılacağı hakkında ayrıntılar için cevabımı görün .
trejder

7

Bu temelde pwrpntuser 'un kodunu tam çalıştırılabilir kılavuza genişletmiştir.

Makro oluşturma

  1. PowerPoint 2007 ve daha yeni sürümlerde, sunumunuzu .pptmuzantı altında kaydettiğinizden emin olun (makrolarla standart sunum yapılabilir).

  2. Bu makalede 1 anlatılan yöntemi kullanarak slayt numaraları eklediğinizden emin olun .

  3. " Makro " penceresini açın 2 . PowerPoint 2007 ve daha yenilerinde, son araç çubuğu grubundaki Viewsekmeye (son) ve ardından Macrodüğmesine tıklayın. Kazan versiyonlarında menüden seçim yapın Tools > Macro.

  4. Makronuz için bir isim yazın (söyleyin PageCountUpdater) ve tıklayın Create.

  5. Makro kodunu ( pwrpntuser 'in yanıtından veya aşağısından) Sub PageCountUpdater()ve arasına yapıştırın End Sub. vanEn girintili çizgideki ofveya sizin dilinizde benzer herhangi bir şeyi değiştirin .

  6. Makroyu kaydedin ve Applications için Microsoft Visual Basic'ı kapatın. PowerPoint'e geri dönün.

Sen bittin. Eklenecek kod (dolu ve düzeltilmiş "yapıştırıcı kelime" ile):

Sub PageCountUpdater()
    Dim s As Slide
    Dim shp As Shape

    For Each s In ActivePresentation.Slides
        s.DisplayMasterShapes = True
        s.HeadersFooters.SlideNumber.Visible = msoTrue

        For Each shp In s.Shapes
            If Left(shp.Name, 12) = "Slide Number" Then
                shp.TextFrame.TextRange.Text = s.SlideNumber & " of " & ActivePresentation.Slides.Count
            End If

        Next
    Next
End Sub

Makro yürütme

  1. " Makro " penceresini tekrar açın.

  2. Kaydedilen PageCountUpdatermakroyu seçin ve tıklayın Run.

Bunu her zaman manuel olarak yapmak zorundasınız. Bir klavye kısayolu en hoş geldiniz. Ancak ... PowerPoint'in kısayollarını değiştirmenin yolu yoktur, bunun için bir bilgisayardan 20 dolardan başlayarak fiyatını ödemek zorunda olduğunuz ticari bir eklenti satın almak dışında. Ayrıntılar için bunun veya bu makalenin sonuna bakın .

Makroyu silmek

Bu makro, yalnızca ihtiyacınız olduğunda çalıştırılır. Bu bir canlı makro değil. Gerçek slayt sayısı ile alanı günceller ve bu kadar. Alanın kendisi standart bir metin alanıdır. Sihir yok. Bu, dosyanızı kolayca dönüştürebileceğiniz .pptxve bu makroyu bir kenara atabileceğiniz, emin olduğunuzda sunumunuzun yapıldığından ve artık slayt eklemeyeceğiniz anlamına gelir. Makro kaldırıldıktan sonra alan, değerleri el değmeden yerlerinde kalacaktır.

Pek çok kullanıcı makro içeren belgeleri sevmediğinden ve sunum yerlerinin, fuarların, konferansların vb. Çok hoşuna gitmediğinden, .pptmdosya çalıştırmanıza izin vermez .

Bu da iyidir, çünkü bu makro tüm slaytlarda numaralandırma alanları oluşturur (başlıklar hariç - sonunda 1 no'lu dipnota bakın), bunları manuel olarak kaldırsanız bile. Bu nedenle, son numaradan ve slayt sırasından emin olduktan sonra, onu son bir kez çalıştırmanız gerekir ve sonra kaldırabilirsiniz.

Makro etkin dosyayı açma

.pptmUzantı ve makroyu içeride tutmaya karar verirseniz , bu belgeyi her zaman makrolar devre dışı bırakılmış olarak açacak ve Enable macrosetkinleştirmek için her seferinde (varsayılan ayarlarda çalışıyorsanız) tıklatmanız gerekecek .

Dokümanların size ait olması durumunda, zararlı kod içermediklerinden ve hepsinin güvenli bir yerde depolandığından (yani bazı geçici veya paylaşılan klasörlerde değil) güvendiğinizden emin olursanız, her Office programının ayarlarını, bu dosyaların her zaman açık olması için değiştirebilirsiniz. Makrolar etkin.

En kolay yol, PowerPoint'teki konumları güvenli hale getirmek için makro özellikli sunumlar içeren bir klasör eklemektir.

Bunu yapmak için:

  1. Click Filesekmesi, Optionsdüğme, Trust Centerbölüm ve Trust Center Settingsdüğmeyi.

  2. Git Trusted locationsbölümde (ikinci) ve üzerine tıklayın Add new location...düğme.

  3. Klasör yolunu Pathalana yapıştırın veya seçin ve isteğe bağlı olarak, eklenmiş konumdaki tüm alt klasörlerin de güvenilir olarak işlem görmesi gerektiğini kontrol edin.

  4. Açık olan OKtüm pencereleri onaylamak ve kapatmak için üç kez tıklayın . Makro etkin belgenizi yeniden açın.

Bu noktadan itibaren, yeni eklenen bir yerden açılan tüm belgeler herhangi bir uyarı göstermemeli ve her zaman makrolar etkinleştirilmiş olarak açılmalıdır. Bu konuda çok daha fazla ayrıntıyı bu Office.com destek belgesinde bulabilirsiniz .

Dipnotlar

1 PowerPoint'in çoğu sürümünde, anlamı olan slayt, sunumdaki ilk slayt olarak değil, başlık slayt olarak düzenlenmiş herhangi bir slayt olarak belirlenir . Yenisini eklerken farklı slayt türlerini görebilirsiniz. Bu, başlık olarak stillendirilmiş slaydınız yoksa, tüm slaytlara sayfa numaraları ekleyeceğiniz anlamına gelir. Ve tersi - sunumda birçok başlık slaydı kullandıysanız , örneğin farklı bölümleri veya blokları işaretlemek için, hepsinde eksik numaralandırma olacaktır.

2 Tüm GUI öğelerinin adları, PowerPoint 2010'un Polonya sürümümden anında çevrilmektedir. Diğer sürümlerde veya PowerPoint'in dil sürümlerinde, biraz farklı olabilir. Buna göre ayarlamak.


5

Öncelikle her slaydın normal bir kayma numarasına sahip olduğundan emin olun. Sonra bir modül ekleyin, aşağıdaki kod parçasını ekleyin ve F5 (Başlat) tuşuna basın.

Dim s As Slide
Dim shp As Shape

For Each s In ActivePresentation.Slides
    s.DisplayMasterShapes = True
    s.HeadersFooters.SlideNumber.Visible = msoTrue

    For Each shp In s.Shapes
        If Left(shp.Name, 12) = "Slide Number" Then
            shp.TextFrame.TextRange.Text = s.SlideNumber & " van " & ActivePresentation.Slides.Count
        End If

    Next
Next

3
Modül nedir?
Pez Cuckow

Slayt numarası yer tutucusunun içeriğini programlı olarak bu şekilde değiştirdiğinizde, slaytları sildiğinizde / eklediğinizde / taşıdığınızda slayt numaraları artık otomatik olarak güncellenmez. Bunun çözdüğünden daha fazla sorun yarattığını düşünürdüm.
OfficeAddinDev


0

Ana Slayttaki bir metin kutusuna <#> x koyduğunuzu ve daha sonra slayta "slayt numarası" eklediğinizi söyleyen bir web sayfası buldum. Kısaca çalışmasını sağladım, ancak sonra onu taşıdığımda ve tekrar denediğimde, artık tam slayt sayısını x'e yerleştirmedi. Ancak bu çözüm çoğu kullanıcı için uygun olabilir.


Evet ... ve bu web sayfası burada, sizinkinden 1,5 yıl daha eski bir cevapta belirtilmiştir .
trejder 20:15

0

İşte altbilginizi "# # # slaytla." İle güncelleyen biraz farklı bir kod. Gizli slaytları toplamda saymamayı seçtim. Bu kodun fareden, slayt 1'deki gizli bir işlem düğmesinin üzerinden çalıştırılmasını sağladım.

Dim SlideTotal As Integer
Dim VisibleSlides As Integer
Dim SlideNum As Integer
Dim i As Integer

With ActivePresentation

    SlideTotal = .Slides.Count

    For i = 1 To SlideTotal
        If .Slides(i).SlideShowTransition.Hidden = msoFalse Then
            VisibleSlides = 1 + VisibleSlides
        End If
    Next

    For i = 1 To SlideTotal
        If .Slides(i).SlideShowTransition.Hidden = msoFalse Then
            SlideNum = 1 + SlideNum
            .Slides(i).HeadersFooters.Footer.Visible = msoCTrue
            .Slides(i).HeadersFooters.Footer.Text = "Slide " & SlideNum & " of " & VisibleSlides
        Else
            .Slides(i).HeadersFooters.Footer.Visible = -msoFalse
        End If
    Next

End With

Süper Kullanana Hoşgeldiniz. Lütfen birkaç yaşında ve kabul edilmiş bir cevabı olan bir soruyu cevapladığınızdan emin olun. Bunu yaparken yanlış bir şey olmamasına rağmen, bir yanıt almanız olası değildir.
CharlieRB,
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.