Powerpoint VBA从当前幻灯片或所有幻灯片的文本框和形状中删除文本
需要帮助,我正在制作一个powerpoint vba宏,可以根据我的选择从所有幻灯片或当前幻灯片中“删除文本”,我有许多文本框需要立即清除,我还希望它能够选择是从所有幻灯片中删除还是仅删除当前幻灯片,但是,我不断收到以下错误:对于Application.ActiveWindow.View.Slide中的每个sh,在第Powerpoint VBA从当前幻灯片或所有幻灯片的文本框和形状中删除文本,vba,powerpoint,ms-office,Vba,Powerpoint,Ms Office,需要帮助,我正在制作一个powerpoint vba宏,可以根据我的选择从所有幻灯片或当前幻灯片中“删除文本”,我有许多文本框需要立即清除,我还希望它能够选择是从所有幻灯片中删除还是仅删除当前幻灯片,但是,我不断收到以下错误:对于Application.ActiveWindow.View.Slide中的每个sh,在第行的“Object不支持此属性或方法”,作为VBA的新手,我刚刚从Microsoft复制了一些代码,因此我真的不知道我做错了什么,非常感谢您的帮助 Sub ClearAllTextB
行的“Object不支持此属性或方法”,作为VBA的新手,我刚刚从Microsoft复制了一些代码,因此我真的不知道我做错了什么,非常感谢您的帮助
Sub ClearAllTextBox()
Dim sh As Shape
Dim sld As Slide
Dim SldDelType As Boolean
SldDelType = False
Select Case MsgBox("Delete Texts From All Slides?", vbExclamation + vbYesNoCancel)
Case vbYes:
SldDelType = True
Case vbNo:
SldDelType = False
Case vbCancel:
Exit Sub
End Select
Select Case MsgBox("Are you Sure you want To Delete " & vbNewLine & "all Text from all Shapes/TextBoxes?", vbExclamation + vbYesNo)
Case vbNo:
Exit Sub
Case vbYes:
If SldDelType Then
For Each sld In ActivePresentation.Slides
For Each sh In sld.Shapes
If sh.HasTextFrame Then
sh.TextFrame.DeleteText
End If
Next sh
Next sld
Else:
For Each sh In Application.ActiveWindow.View.Slide
If sh.HasTextFrame Then
sh.TextFrame.DeleteText
End If
Next sh
End If
End Select
End Sub
如果你想在一张幻灯片的所有形状上循环,你需要这样说。你已经在上半部分做得很好了,在那里你为sld中的每个sh编写了。形状。如果你想在一张幻灯片的所有形状上循环,你也需要这样做:
(...)
Else
For Each sh In Application.ActiveWindow.View.Slide.Shapes
If sh.HasTextFrame Then
(...)
End If
Next sh
End If
或者使用幻灯片变量拆分该长语句:
Else
Set sl = Application.ActiveWindow.View.Slide
For Each sh sl.Shapes
(...)
Next sh
End If
如果你想在一张幻灯片的所有形状上循环,你需要这样说。你已经在上半部分做得很好了,在那里你为sld中的每个sh编写了。形状。如果你想在一张幻灯片的所有形状上循环,你也需要这样做:
(...)
Else
For Each sh In Application.ActiveWindow.View.Slide.Shapes
If sh.HasTextFrame Then
(...)
End If
Next sh
End If
或者使用幻灯片变量拆分该长语句:
Else
Set sl = Application.ActiveWindow.View.Slide
For Each sh sl.Shapes
(...)
Next sh
End If
应用程序中的每个sh.ActiveWindow.View.Slide.Shapes
应用程序中的每个sh.ActiveWindow.View.Slide.Shapes