Вставьте общее количество слайдов в PowerPoint 2007

25

Можно ли вставить общее количество слайдов в презентации PowerPoint в сноску? Я ищу автоматизированный способ.

Конечно, я мог бы редактировать нижний колонтитул и вставлять его вручную, но если я увеличу / уменьшу слайды, необходимо будет его настроить. И это то, что мы всегда забываем.

В справке от Microsoft объясняется, как это сделать вручную. Я не могу поверить, что в PowerPoint его нет ...

Боб Риверс
источник
1
Опция «вставить> поле» недоступна в PowerPoint? Вот как я делал это на словах ...
Симус
Да, это то, что я искал. Я новичок в 2007 году и не могу его найти.
Боб Риверс
да, в Powerpoint поля не существуют, так что это не сработает.
BBlake
4
Насколько раздражающим является то, что нам все еще нужна надстройка к этой самой базовой функции? У меня была эта проблема в течение многих лет ...

Ответы:

2

Если вы ищете параметр или параметр конфигурации, которые просто автоматически добавят его в каждую создаваемую вами презентацию, ее нет. Однако, если вы редактируете верхний или нижний колонтитул, вы можете автоматически добавлять туда номера слайдов, чтобы они отображались на всех слайдах.

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

BBlake
источник
2
Да, это статья, которую я прочитал. Я не хочу ставить «10» вручную. Я ищу что-то вроде <#> из <##> ...
Боб Риверс
1
Ааа, хорошо, да, это будет работать, только если вы просто хотите номер страницы. Если вы хотите «всего слайдов», то нет быстрого решения. Единственное другое решение, которое я могу придумать, - это использовать VBA (Visual Basic для приложений) для достижения этой цели. Я знаю, что это сработает, но может стать немного сложнее.
BBlake
@BBlake Ты прав. VBA требуется для достижения этой цели. Смотрите мой ответ для деталей о том, как это сделать.
Трейдер
7

Это в основном код pwrpntuser , расширенный до полного исполняемого руководства.

Создание макроса

  1. В PowerPoint 2007 и новее убедитесь, что вы сохранили свою презентацию под .pptmрасширением (стандартная презентация с макросами разрешена).

  2. Убедитесь, что вы добавили номера слайдов, используя метод, описанный в этой статье 1 .

  3. Открыть окно « Макро » 2 . В PowerPoint 2007 и новее, нажмите на Viewвкладку (последняя), а затем на Macroкнопку в последней группе панели инструментов. В более ранних версиях выберите Tools > Macroиз меню.

  4. Введите имя для вашего макроса (скажем PageCountUpdater) и нажмите Create.

  5. Вставить код макроса (от pwrpntuser ответа «s или ниже) между Sub PageCountUpdater()и End Sub. Измените vanстроку с самым отступом ofили что-нибудь подобное в вашем языке.

  6. Сохраните макрос и закройте Microsoft Visual Basic для приложений. Вернитесь в PowerPoint.

Вы сделали Код для вставки (полный и с исправленным «клеевым словом»):

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

Выполнение макроса

  1. Снова откройте окно « Макро ».

  2. Выберите сохраненный PageCountUpdaterмакрос и нажмите Run.

Вы должны делать это каждый раз вручную. Сочетание клавиш будет приветствоваться. Но ... нет способа изменить ярлыки PowerPoint, кроме как купить коммерческий плагин, за который вы должны заплатить цену, начиная с 20 долларов за один компьютер. Смотрите конец этой или этой статьи для деталей.

Удаление макроса

Этот макрос запускается только тогда, когда вам это нужно. Это не живой макрос. Он обновляет поле с фактическим количеством слайдов и все. Само поле является стандартным текстовым полем. Нет магии. Это означает, что вы можете легко преобразовать свой файл обратно .pptxи выбросить этот макрос, если вы уверены, что ваша презентация завершена и вы больше не будете добавлять к ней слайды. Поле останется на своих местах с неизменными значениями после удаления макроса.

Это удобно, поскольку многим пользователям не нравятся документы с макросами, а многие места для презентаций, ярмарки, конференции и т. Д. Просто не позволяют запускать .pptmфайлы.

Это также хорошо, потому что этот макрос воссоздает поля нумерации на всех слайдах (кроме титровальных - см. Сноску № 1 в конце), даже если вы удалите их вручную. Поэтому вы должны запустить его в последний раз, после того, как будете уверены в окончательном количестве и порядке слайдов, а затем сможете удалить его.

Открытие файла с поддержкой макросов

Если вы решите сохранить .pptmрасширение и макрос внутри, у вас всегда будет открыт этот документ с отключенными макросами, и вам придется Enable macrosкаждый раз нажимать (если вы используете настройки по умолчанию), чтобы включить их.

Если документы являются вашими собственными, вы уверены, что они не содержат вредоносного кода и все они хранятся в безопасном месте (то есть не в какой-то временной или общей папке), вы можете изменить параметры каждой программы Office, чтобы эти файлы всегда открывались с помощью макросы включены.

Самый простой способ - добавить папку с презентациями с поддержкой макросов в безопасные места в PowerPoint.

Сделать это:

  1. Нажмите Fileвкладку, Optionsкнопку, Trust Centerраздел и Trust Center Settingsкнопку.

  2. Перейдите в Trusted locationsраздел (второй) и нажмите на Add new location...кнопку.

  3. Вставьте или выберите путь к папке в Pathполе и при необходимости проверьте, что все вложенные папки в добавленном местоположении также должны рассматриваться как надежные.

  4. Нажмите OKтри раза, чтобы подтвердить и закрыть все открытые окна. Снова откройте документ с поддержкой макросов.

С этого момента все документы, открытые из только что добавленного местоположения, не должны отображать никаких предупреждений и всегда должны открываться с включенными макросами. Более подробную информацию по этому вопросу вы найдете в этом документе поддержки Office.com .

Сноски

1 В большинстве версий PowerPoint значение титульного слайда определяется не как первый слайд презентации , а как любой слайд в стиле титульного слайда . Вы можете видеть различные типы слайдов, когда вставляете новый. Это означает, что если у вас нет слайда в стиле заголовка, ко всем слайдам будут добавлены номера страниц. И наоборот - если вы использовали много титульных слайдов внутри презентации, например, чтобы пометить различные разделы или блоки, у вас не будет нумерации на всех из них.

2 Названия всех элементов графического интерфейса переводятся на лету из моего польского издания PowerPoint 2010. В других выпусках или языковых выпусках PowerPoint они могут немного отличаться. Отрегулируйте соответственно.

trejder
источник
5

Сначала убедитесь, что у каждого слайда есть нормальный номер слайда. Затем добавьте модуль, вставьте следующий фрагмент кода и нажмите F5 (Пуск).

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
pwrpntuser
источник
3
Что такое модуль?
Pez Cuckow
При программном изменении содержимого заполнителя номера слайда номера слайдов больше не будут обновляться автоматически при удалении / добавлении / перемещении слайдов. Я думаю, что это создает больше проблем, чем решает.
OfficeAddinDev
0

Я нашел одну веб-страницу, на которой написано, что вы поместили <#> x в текстовое поле на мастер-слайде, а затем добавили «номер слайда» на слайд. Я заставил его работать ненадолго, но затем, когда я переместил его и попытался снова, он больше не заполнял полный номер слайда в x. Но это решение может быть осуществимо для большинства пользователей.

Мишель
источник
Да ... и эта веб-страница уже упоминается здесь, в ответе на 1,5 года старше, чем ваш .
Трейдер
0

Вот немного другой код, который обновляет нижний колонтитул с помощью «slide # of ##». Я решил не считать скрытые слайды к общему количеству. У меня есть этот код, выполняемый с помощью мыши над кнопкой скрытого действия на слайде 1.

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
Крис Сандлин
источник
Добро пожаловать в Супер пользователя. Обращаем ваше внимание, что вы ответили на вопрос, которому уже много лет, и на который есть принятый ответ. Хотя в этом нет ничего плохого, вряд ли вы получите ответ.
CharlieRB