有5000多個(gè)ppt文件,里面都有一些相同的文字,如何快速刪除這些相同的文字?
網(wǎng)友解答: PPT快速刪除相同的文字的方法——按下 ctrl + H 快捷鍵,彈出“替換”窗口在替換窗口的“查找內(nèi)容”處,輸入要?jiǎng)h除的內(nèi)容,如明天,點(diǎn)擊“全部替換”點(diǎn)擊“確定”關(guān)閉“替換
PPT快速刪除相同的文字的方法——
按下 ctrl + H 快捷鍵,彈出“替換”窗口
在替換窗口的“查找內(nèi)容”處,輸入要?jiǎng)h除的內(nèi)容,如明天,點(diǎn)擊“全部替換”
點(diǎn)擊“確定”
關(guān)閉“替換”窗口,所有想要?jiǎng)h除的相同的文字已經(jīng)被刪除了
網(wǎng)友解答:這個(gè)操作如果手工操作的話,估計(jì)做到打哈欠都未必所有的PPT都確定已經(jīng)把對(duì)應(yīng)的文字刪除了。而PPT又沒有相應(yīng)的公式,使用查找功能也只能實(shí)現(xiàn)單個(gè)PPT的操作。所以,只能采用PPT VBA 實(shí)現(xiàn)。下面就介紹使用PPT VBA一次性刪除掉相同的文字吧。
【需求】有5000份PPT,需要將該文檔中的“ABC”文字去掉。
以下是本人創(chuàng)建的PPT。
文件路徑放在:
【操作方法】
一、在其它路徑下新建一份PPT,如在E:,如下圖:
二、打開剛才新建的PPT,點(diǎn)擊【開發(fā)工具】的【查看代碼】
三、在彈出的窗口中于左側(cè)鼠標(biāo)右鍵點(diǎn)擊,選擇【插入】子級(jí)菜單的【模塊】,右側(cè)便創(chuàng)建了一個(gè)模塊新的編輯區(qū)。
四、將以下代碼復(fù)制到剛才創(chuàng)建的編輯區(qū)
------------代碼區(qū)-----------------
Sub changeFileFont()
Dim pres As Presentation
Dim s As Slide
Dim shp As Shape
Dim oTxtRng As TextRange
Dim oTmpRng As TextRange
Dim fs, f, f1, fc
Set fs = CreateObject("Scripting.FileSystemObject")
Set f = fs.GetFolder("E:快速刪除PPT的內(nèi)容") '此處"E:快速刪除PPT的內(nèi)容"為實(shí)際中存放PPT的路徑,根據(jù)實(shí)際存放的路徑在此處修改即可.
Set fc = f.Files
For Each f1 In fc
If f1 Like "*.pptx" Then
Debug.Print f1
Set pres = Presentations.Open(FileName:=f1)
For Each s In ActivePresentation.Slides
For Each shp In s.Shapes
If shp.HasTextFrame Then
If shp.TextFrame.HasText Then
Set oTxtRng = shp.TextFrame.TextRange
Set oTmpRng = oTxtRng.Replace("ABC", "", WholeWords:=msoTrue) '此處的"ABC"為我們實(shí)際中要查找的內(nèi)容,可根據(jù)需要將ABC輸成其他文字.
Do While Not oTmpRng Is Nothing
Set oTmpRng = oTxtRng.Replace("ABC", "", WholeWords:=msoTrue) '此處的"ABC"為我們實(shí)際中要查找的內(nèi)容,可根據(jù)需要將ABC輸成其他文字.
Loop
End If
End If
Next
Next
ActiveWindow.ViewType = ppViewSlide
pres.Save
pres.Close
End If
Next
End Sub
-------------代碼區(qū)------------------
如下圖:
五、點(diǎn)擊【運(yùn)行】
六、最終的效果:
【注】菜單欄沒有顯示【開發(fā)工具】調(diào)出方法
于【文件】菜單欄中選擇【選項(xiàng)】,在彈出的窗口中如下圖所示,將開發(fā)工具打勾即可。
歡迎關(guān)注本人酷米號(hào),本人專注Office領(lǐng)域研究。