![]() |
Замена текста во всех файлах Word
Не работает replace не пойму в чем проблема :(
Dim FSO, files, NameFile Dim objWord, objDoc Dim objSelection, myRange Set FSO = CreateObject("Scripting.FileSystemObject") Set objWord = CreateObject("Word.Application") objWord.DisplayAlerts = True Set files = FSO.GetFolder("D:\_Doc\").Files For Each NameFile In files if LCase(right(NameFile.Name,3))="doc" then 'MsgBox(NameFile) Set objDoc = objWord.Documents.Open("D:\_Doc\"&NameFile.Name) objWord.Visible = True Set myRange = objDoc.Content myRange.Find.Execute "+", False, False, False, False, False, True, wdFindContinue, False, "*", wdReplaceAll, False, False, False, False 'Set objSelection = objWord.Selection 'objSelection.Find.Text = "+" 'objSelection.Find.Forward = True 'objSelection.Find.MatchWholeWord = True 'objSelection.Find.Replacement.Text = "*" 'objSelection.Find.Execute ,,,,,,,,,,wdReplaceAll MsgBox(NameFile) objDoc.SaveAs("D:\_Doc\"&"_"&NameFile.Name) objDoc.Close Set objSelection = Nothing end if Next Set files = Nothing Set FSO = Nothing objWord.Quit |
RiskSoft, как-то так:
Код:
Option Explicit |
Общая цель такова:
1. Найти в папке все файлы Word. 2. В каждом файле заменить слово "за май" на "за апрель" 3. Сохранить файл |
Цитата:
1. Сохранять документ под тем же именем. 2. Только тогда, когда были сделаны замены. Так? |
Гениально !!! Все работает, я в таком восторге :)) На что раньше уходило день, теперь все решается за пару минут.
WScript.Echo objFile.Name, objDocument.Content.Find.Execute("Счет № 1/", False, False, False, False, False, True, wdFindContinue, False, "Счет № 4/", wdReplaceAll) WScript.Echo objFile.Name, objDocument.Content.Find.Execute("«31» января 2012 г.", False, False, False, False, False, True, wdFindContinue, False, "«30» апреля 2012 г.", wdReplaceAll) WScript.Echo objFile.Name, objDocument.Content.Find.Execute("за январь 2012 г.", False, False, False, False, False, True, wdFindContinue, False, "за апрель 2012 г.", wdReplaceAll) А можно еще переделать скрипт, чтобы не было MsgBox о произведенной замене. И автоматом еще отправить измененный документ на печать весь документы и определенные страницы. |
Цитата:
Код:
cscript.exe //nologo "<Путь к скрипту>" Цитата:
И что Вы скажете по поводу моего вопроса выше? |
По пункту 1, ответ: ДА
По пункту 2, ответ: ДА Все верно и все правильно сделано! По поводу печати, мне хочется знать как вывести на печать файл Word. Но проблема заключается в том что мне нужно вывести не весь документ, а скажем лист 2 и сделать 3 копии этого листа. |
Цитата:
Цитата:
Цитата:
PrintOut Method*[Word 2007 Developer Reference], смотрите параметры «Copies», «Pages» и «Background». |
Время: 05:48. |
Время: 05:48.
© OSzone.net 2001-