This is basically pwrpntuser's code extended to full executable guide.
In PowerPoint 2007 and newer make sure, that you saved your presentation under
.pptm extension (standard presentation with macros allowed).
Make sure, that you have added slide numbers using method described in this article1.
Open "Macro" window 2. In PowerPoint 2007 and newer, click on
View tab (last) and then on
Macro button in last toolbar group. In eariler versions select
Tools > Macro from menu.
Type a name for your macro (say
PageCountUpdater) and click
Paste macro code (from pwrpntuser's answer or below) between
Sub PageCountUpdater() and
End Sub. Change
van in the most indented line to
of or anything similar in your lang.
Save macro and close Microsoft Visual Basic for Applications.Go back to PowerPoint.
You're done. Code to be inserted (full and with corrected "glue-word"):
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
Open "Macro" window again.
PageCountUpdater macro and hit
You have to do this each time manually. A keyboard shortcut would be most welcome. But... there is no way to change PowerPoint's shortcuts, except for buying a commercial plugin, for which you have to pay price starting at 20 bucks per one computer. See end of this or this article for a details.
This macro is run only, when you need it. It is not a live-macro. It updates field with actual slide count and that's it. Field itself is a standard text field. No magic. This means, that you can easily convert your file back to
.pptx and throw this macro away, once you're sure, that your presentation is done and you'll be adding no more slides to it. Field will remain in their places with their values untouched, once macro is removed.
This is comfortable as many users does not like documents with macros and many presentation places, fairs, conferences etc. simply won't let you run
This is also good, because this macro recreates numbering fields on all slides (except title ones -- see footnote no 1 at the end), even if you remove them manually. Therefore you should run it one last time, after you're sure about final number and order of slides and then you can remove it.
Opening macro-enabled file
If you decide to keep
.pptm extension and macro inside, you'll have this document always opened with macros disabled and you'll have to click
Enable macros each time (if you run on default settings) to enable them.
If documents are your own, you trust, that they contain no malicious code and they're all stored in a secure location (i.e. not in some temporal or shared folder), you can change each Office program settings to have these files always opened with macros enabled.
The easiest way is to add folder with macro-enabled presentations to secure locations in PowerPoint.
To do this:
Trust Center section and
Trust Center Settings button.
Trusted locations section (second) and click on
Add new location... button.
Paste or select folder path into
Path field and optionally check, that all subfolders in added location should also be treated as trusted.
OK three times to confirm and close all opened windows. Reopen your macro-enabled document.
From this point on, all documents opened from just added location should not display any warning and should always be opened with macros enabled. You'll find much more details on this matter in this Office.com support document.
1 In most versions of PowerPoint the meaning title slide is determined not as first slide in presentation, but as any slide styled as title slide. You can see diffreent slide types, when inserting new one. This mean that, if you have no slide styled as title, you'll have page numbers added to all slides. And opposite -- if you used many title slides inside presentation, for example to mark different sections or blocks, you'll have numbering missing on all of them.
2 All GUI elements' names are on-the-fly translation from my Polish edition of PowerPoint 2010. In other releases or language editions of PowerPoint they may be slightly different. Adjust accordingly.