Здравствуйте. есть много файлов в rtf надо к каждому применить макрос, vba совсем не знаю, но путем поиска и помощи на форумах удалось вот что найти:
макрос который нужно применить к файлам (удаление первой страницы если там есть keyword)
| Код | Sub a_sect140211() Dim s1, j1, j2, s2, s3 Dim obj As Object Dim zm1, zm2 zm1 = "keyword" zm2 = ".keyword." Dim tbl As Table '''''''''''''''''''''''''''' s1 = Word.ActiveDocument.Sections(1).Range.Text If InStr(s1, zm1) > 0 Then Debug.Print "1ok" Word.ActiveDocument.Sections(1).Range.Delete End If ''''''''''''''''''''''''''''' j1 = Word.ActiveDocument.Sections(1).Headers.Count Do While j1 > 0 Word.ActiveDocument.Sections(1).Headers(j1).Range.Select If Selection.Tables.Count > 0 Then Set tbl = Selection.Tables(1) j2 = tbl.Range.Cells.Count Do While j2 > 0 s1 = tbl.Range.Cells(j2).Range.Text Debug.Print j1, j2, s1; If InStr(s1, zm1) > 0 Or InStr(s1, zm2) > 0 Then Debug.Print "**" tbl.Range.Cells(j2).Range.Text = "" End If j2 = j2 - 1 Loop End If j1 = j1 - 1 Loop '''''''''''''''''' j1 = Word.ActiveDocument.Sections(1).Footers.Count Do While j1 > 0 Word.ActiveDocument.Sections(1).Footers(j1).Range.Select If Selection.Tables.Count > 0 Then Set tbl = Selection.Tables(1) j2 = tbl.Range.Cells.Count Do While j2 > 0 s1 = tbl.Range.Cells(j2).Range.Text Debug.Print j1, j2, s1; If InStr(s1, zm1) > 0 Or InStr(s1, zm2) > 0 Then Debug.Print "**" tbl.Range.Cells(j2).Range.Text = "" End If j2 = j2 - 1 Loop End If j1 = j1 - 1 Loop 'ActiveWindow.ActivePane.View.Type = wdPrintView ActiveWindow.View.Type = wdPrintView ActiveWindow.ActivePane.View.SeekView = wdSeekMainDocument Selection.WholeStory
End Sub
|
а вот есть скрипт как узнал на vbs по удалению ссылок из всех файлов в папке:
| Код | With CreateObject("word.application") For Each x In CreateObject("scripting.filesystemobject").getfile(wscript.scriptfullname).parentfolder.Files If LCase(Mid(x.Name, InStrRev(x.Name, ".") + 1, 4)) = "rtf" Then With .documents.open(x.Path) numDocs = numDocs + 1 .Range.Fields.Unlink 'Ctrl+A, Ctrl+Shift+F9 .Close True 'save changes End With End If Next .Quit End With wscript.echo "Обработано документов " & numDocs
|
пробовал 1 макрос вставить вместо
| Код | .Range.Fields.Unlink 'Ctrl+A, Ctrl+Shift+F9
|
но выдает ошибки всякие.. как правильно вставить тот макрос во второй?
Спасибо! |