![]() |
|
|
|
#1
|
||||
|
||||
|
If you want to delete all the tables up to the one containing the find string, you need a slightly different approach. You will however have to search for the unicode string with English interface which is entered at the top of the code. If you want to delete the tables up to the table with the first find string (including the table with that string) then: Code:
Option Explicit
Sub BatchDelete()
Dim sFind As String: sFind = ChrW(32467) & ChrW(31639) & ChrW(22791) & ChrW(20184) & ChrW(37329)
Dim strFile As String
Dim strPath As String
Dim oDoc As Document
Dim iFld As Integer
Dim fDialog As FileDialog
Set fDialog = Application.FileDialog(msoFileDialogFolderPicker)
With fDialog
.Title = "Select folder and click OK"
.AllowMultiSelect = False
.InitialView = msoFileDialogViewList
If .Show <> -1 Then
MsgBox "Cancelled By User", , "List Folder Contents"
Exit Sub
End If
strPath = fDialog.SelectedItems.Item(1)
If Right(strPath, 1) <> "\" Then strPath = strPath + "\"
End With
strFile = Dir$(strPath & "*.*")
While strFile <> ""
If Right(LCase(strFile), 4) = ".rtf" Or Right(LCase(strFile), 4) = "docx" Then
Set oDoc = Documents.Open(strPath & strFile)
DelTables oDoc, sFind
oDoc.Close SaveChanges:=wdSaveChanges
End If
strFile = Dir$()
Wend
lbl_Exit:
Exit Sub
End Sub
Private Sub DelTables(oDoc As Document, sFind As String)
Dim lCount As Long, lDel As Long, lTable As Long
If oDoc.Tables.Count > 0 Then
For lCount = 1 To oDoc.Tables.Count
If InStr(1, oDoc.Tables(lCount).Range, sFind) > 0 Then
Exit For
End If
Next lCount
If lCount > 0 Then
For lDel = lCount To 1 Step -1
oDoc.Tables(lDel).Delete
Next lDel
End If
End If
lbl_Exit:
Exit Sub
End Sub
Code:
If lCount > 0 Then
For lDel = lCount To 1 Step -1
Code:
If lCount > 1 Then
For lDel = lCount - 1 To 1 Step -1
__________________
Graham Mayor - MS MVP (Word) (2002-2019) Visit my web site for more programming tips and ready made processes www.gmayor.com |
|
| Tags |
| batch deleting |
|
|
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| Table Deletions | ranjan | Word Tables | 4 | 09-01-2021 02:58 PM |
Table deletions based on a string.
|
nmkhan3010 | Word Tables | 3 | 05-03-2021 08:57 PM |
Batch applying a macro to remove Header and Footer using Batch Auto Addin
|
Edszx | Word VBA | 2 | 05-27-2019 11:16 PM |
| VBA to provide text string with specific formating based on Drop down list (content control) | MP1989 | Word VBA | 4 | 07-30-2018 02:40 AM |
| Batch change header text which is in a table | marafubu | Word VBA | 1 | 05-16-2018 04:52 AM |