- ppt背景绿色:六张可爱哆啦A梦PPT背景图片
- ppt素材图片小插图:梅花灯笼祥云等新年PPT素材
- ppt播放显示备注:ppt2013版这么设置播放展示时显示备注
- ppt做出滚动播放的效果:【PPT实用技巧】PPT多张图片怎么制作滚动播放效果
下面的是PPT教程网给你带来的相关内容:
ppt加页码怎么设置:ppt如何实现自动生成页码/总页码?
【说明】本回答的方法适用于想要添加 “页码/总页码” 文本框 的同时ppt加页码怎么设置,忽略掉被隐藏的 PPT 页的情况。
对于没有隐藏 PPT 页的情况,建议直接在「视图」→「幻灯片母版」中手动添加,参考 PPT 插入页码和总页码,以及更新总页码。一、适用于 或者 MacOS
用 VBA 可以实现批量添加/去除每页 PPT 上的“页码/总页码” 文本框。
① 首先打开 PPT 中的 VBA 编辑器,并在新出现的编辑器窗口中点击「插入」→「模块」:
在 版 PPT 中打开 Basic 编辑器,并插入一个模块
在 Mac 版 PPT 中打开 Basic 编辑器,并插入一个模块
② 在新插入的模块的编辑器中输入以下代码,然后点击顶部菜单栏中的三角按钮来运行:
如果想要插入自定义页码文本框,在点击运行之前需要在 PPT 窗口内选中一个参考文本框,选中的该文本框会被作为参考,之后每一页插入的页码文本框会被设置为与之相同的位置、大小、文字格式、对齐方式等。
如果想要删除通过此代码添加的自定义页码文本框,则无需额外操作ppt加页码怎么设置:ppt如何实现自动生成页码/总页码?,直接点击运行即可。
在 Basic 编辑器中运行 VBA 代码
③ 运行之后,会弹出一个文本框让你选择要进行的操作。
单击「是」会添加自定义页码文本框,回到 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自动播放? 下一篇:没有了
郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。