http://www.pptjcw.com

ppt加页码怎么设置:ppt如何实现自动生成页码/总页码?

    下面的是PPT教程网给你带来的相关内容:

    ppt加页码怎么设置:ppt如何实现自动生成页码/总页码?

    【说明】本回答的方法适用于想要添加 “页码/总页码” 文本框 的同时ppt加页码怎么设置,忽略掉被隐藏的 PPT 页的情况。

    对于没有隐藏 PPT 页的情况,建议直接在「视图」→「幻灯片母版」中手动添加,参考 PPT 插入页码和总页码,以及更新总页码。一、适用于 或者 MacOS

    用 VBA 可以实现批量添加/去除每页 PPT 上的“页码/总页码” 文本框。

    ① 首先打开 PPT 中的 VBA 编辑器,并在新出现的编辑器窗口中点击「插入」→「模块」:

    ppt加页码怎么设置

    在 版 PPT 中打开 Basic 编辑器,并插入一个模块

    ppt加页码怎么设置

    ppt加页码怎么设置

    在 Mac 版 PPT 中打开 Basic 编辑器,并插入一个模块

    ② 在新插入的模块的编辑器中输入以下代码,然后点击顶部菜单栏中的三角按钮来运行:

    如果想要插入自定义页码文本框,在点击运行之前需要在 PPT 窗口内选中一个参考文本框,选中的该文本框会被作为参考,之后每一页插入的页码文本框会被设置为与之相同的位置、大小、文字格式、对齐方式等。

    如果想要删除通过此代码添加的自定义页码文本框,则无需额外操作ppt加页码怎么设置:ppt如何实现自动生成页码/总页码?,直接点击运行即可。

    ppt加页码怎么设置

    在 Basic 编辑器中运行 VBA 代码

    ③ 运行之后,会弹出一个文本框让你选择要进行的操作。

    单击「是」会添加自定义页码文本框,回到 PPT 窗口,这时当前 PPT 内所有未被隐藏的 PPT 页中都会添加一个名为 的文本框,且它和之前选中的参考文本框具有相同的位置、大小和格式。演示效果如下:

    ppt加页码怎么设置

    ppt加页码怎么设置

    「添加」自定义页码文本框

    单击「否」会删除所有添加的自定义页码文本框,演示效果如下:

    ppt加页码怎么设置

    「删除」已经添加的自定义页码文本框

    上面用到的 VBA 代码如下:

    Sub Add_or_Remove_Custome_TextBox()
        answer = MsgBox("你想要添加(删除)自定义页码文本框吗?" & vbLf & vbLf & "「是」:“添加”操作" & vbLf & vbLf & "「否」:“删除”操作" & vbLf & vbLf & "「取消」:放弃操作", vbQuestion + vbYesNoCancel + vbDefaultButton1, "添加或删除自定义页码文本框")
        ' answer = MsgBox("Do you want to add (remove) custom page-number textboxes?" & vbLf & vbLf & "[Yes]: add custom textboxes" & vbLf & vbLf & "[No]: remove custom textboxes" & vbLf & vbLf & "[Cancel]: cancel the operation", vbQuestion + vbYesNoCancel + vbDefaultButton1, "Add or Remove Custom Page-number Textboxes")
    
        If answer = vbYes Then
            Debug.Print "Add"
            Add_Custom_TextBox
        ElseIf answer = vbNo Then
            Debug.Print "Remove"
            Remove_Custom_TextBox
        ElseIf answer = vbCancel Then
            Debug.Print "Cancel"
        End If
    End Sub
    Sub Add_Custom_TextBox()
        Dim shp, selectedShp, newTextBox As Shape
        Dim sld As Slide
        Dim count, i, numSlides, numVisibleSlides As Long
        Dim visibleSlides() As Slide
        Dim errorSlides As String
        If ActiveWindow.Selection.Type = ppSelectionShapes Or ActiveWindow.Selection.Type = ppSelectionText Then
            ' A shape is selected or a textbox is focused (text is selected)
            Set selectedShp = ActiveWindow.Selection.ShapeRange(1)
            ' get all slides in the current presentation
            numSlides = ActivePresentation.Slides.Count
            count = 0
            errorSlides = ""
            For i = 1 To numSlides
                Set sld = ActivePresentation.Slides(i)
                ' Skip hidden slides
                If sld.SlideShowTransition.Hidden = msoFalse Then
                    count = count + 1
                    ReDim Preserve visibleSlides(count) As Slide
                    Set visibleSlides(count) = sld
                End If
            Next i
            numVisibleSlides = UBound(visibleSlides)
            On Error GoTo ErrHandler
            For i = 1 To UBound(visibleSlides)
                Set sld = visibleSlides(i)
                Set newTextBox = sld.Shapes.AddTextbox( _
                    Orientation:=msoTextOrientationHorizontal, _ 
                    Left:=selectedShp.Left, _
                    Top:=selectedShp.Top, _
                    Width:=selectedShp.Width, _
                    Height:=selectedShp.Height _
                )
                newTextBox.Name = "page_footer"
                With newTextBox.TextFrame.TextRange
                    .Text = CStr(i) & " / " & CStr(numVisibleSlides)
                    .Font.Bold = selectedShp.TextFrame.TextRange.Font.Bold
                    .Font.Italic = selectedShp.TextFrame.TextRange.Font.Italic
                    .Font.Underline = selectedShp.TextFrame.TextRange.Font.Underline
                    .Font.Name = selectedShp.TextFrame.TextRange.Font.Name
                    .Font.NameFarEast = selectedShp.TextFrame.TextRange.Font.NameFarEast
                    .Font.Size = selectedShp.TextFrame.TextRange.Font.Size
                    .Font.Color.RGB = selectedShp.TextFrame.TextRange.Font.Color.RGB
                    .ParagraphFormat.Alignment = selectedShp.TextFrame.TextRange.ParagraphFormat.Alignment
                End With
            Next i
            If Len(Trim(errorSlides)) > 0 then
                MsgBox "操作完成。但处理以下 PPT 页时出现错误:" & error_slides, vbExclamation, "添加自定义页码文本框"
                ' MsgBox "Finished. But some errors occur in the following slides: " & errorSlides, vbExclamation, "Insert footers in all slides"
            Else
                MsgBox "操作完成", vbExclamation, "添加自定义页码文本框"
                ' MsgBox "Finished without error", vbExclamation, "Insert footers in all slides"
            end if
        Else
            MsgBox "请选择一个文本框来作为添加页码文本框的参考,然后重试!", vbExclamation, "未选择文本框"
            ' MsgBox "Please select a text box to determine the position & font style and retry!", vbExclamation, "No Selected TextBox Found"
        End If
        Exit Sub
    ErrHandler:
        If error_slides = "" Then
            errorSlides = CStr(i)
        Else
            errorSlides = errorSlides & ", " & CStr(i)
        End If
        Resume Next
    End Sub
    Sub Remove_Custom_TextBox()
        Dim sld As Slide
        Dim i, L As Long
        Dim errorSlides As String
        errorSlides = ""
        i = 0
        On Error GoTo ErrHandler2
        For Each sld In ActivePresentation.Slides
            i = i + 1
            For L = sld.Shapes.Count To 1 Step -1
                If sld.Shapes(L).Name = "page_footer" Then sld.Shapes(L).Delete
            Next L
        Next sld
        If Len(Trim(errorSlides)) > 0 then
            MsgBox "操作完成。但处理以下 PPT 页时出现错误:" & error_slides, vbExclamation, "添加自定义页码文本框"
            ' MsgBox "Finished. But some errors occur in the following slides: " & errorSlides, vbExclamation, "Insert footers in all slides"
        Else
            MsgBox "操作完成", vbExclamation, "添加自定义页码文本框"
            ' MsgBox "Finished without error", vbExclamation, "Insert footers in all slides"
        end if
        Exit Sub
    ErrHandler2:
        If error_slides = "" Then
            errorSlides = CStr(i)
        Else
            errorSlides = errorSlides & ", " & CStr(i)
        End If
        Resume Next
    End Sub

    二、仅适用于 MacOS

    基于上面类似的原理,可以用 实现同样的功能,并且可以将它添加到「服务」中,方便以后直接使用。操作方式参见我的另一个回答中的「二、批量插入或删除自定义页码文本框」部分:

    感谢你支持pptjcw.com网,我们将努力持续给你带路更多优秀实用教程!

    提示:如果您觉得本文不错,请点击分享给您的好友!谢谢

    上一篇:ppt自动播放设置:ppt模板自动播放怎么取消,如何停止PPT自动播放? 下一篇:没有了

    郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。