Модераторы: mihanik
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как обработать макросом много файлов? 
:(
    Опции темы
nikki4
Дата 11.2.2014, 12:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 59
Регистрация: 27.10.2009

Репутация: нет
Всего: нет



Здравствуйте.
есть много файлов в 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

но выдает ошибки всякие.. как правильно вставить тот макрос во второй?

Спасибо!

Это сообщение отредактировал(а) nikki4 - 12.2.2014, 14:29
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Программирование, связанное с MS Office"
mihanik staruha

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами



  • Несанкционированная реклама на форуме запрещена
  • Пожалуйста, давайте своим темам осмысленный, информативный заголовок. Вопль "Помогите!" таковым не является.
  • Чем полнее и яснее Вы изложите проблему, тем быстрее мы её решим.
  • Оставляйте свои записи в "Книге отзывов о работе администрации"
  • А вот тут лежит FAQ нашего подраздела


Если Вам понравилась атмосфера форума, заходите к нам чаще!
С уважением mihanik и staruha.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Программирование, связанное с MS Office | Следующая тема »


 




[ Время генерации скрипта: 0.0932 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.