Я хочу обновить текст в многочисленных файлах Word (во многих папках и подпапках).У меня есть функция, чтобы пройти через все из них.
Я в основном хочу найти и заменить во всем документе.Но я не могу найти и заменить работу.Я вижу, что файлы открываются и закрываются, но в конце ничего не сохраняется.
У меня есть код макроса / VBA для обновления файла слова.но это не работает, и я не мог найти, в чем проблема.пожалуйста помогите!
вот код:
Sub UpdateOneFolderToUnicode()
Dim strFolder As String, strFile As String
strFolder = "my folder here"
If strFolder = "" Then Exit Sub
'strFile = Dir(strFolder & "\*.docx", vbNormal) ' for docx files
strFile = Dir(strFolder & "\*.doc", vbNormal)
While strFile <> ""
updateOneFile strFolder & "\" & strFile
strFile = Dir()
Wend
End Sub
Sub updateOneFile(filePath)
Dim wdDoc As Document
Application.ScreenUpdating = True
On Error GoTo UpdateErr
Set wdDoc = Documents.Open(FileName:=filePath, AddToRecentFiles:=False, Visible:=False)
With wdDoc
With .Range.Find
.Text = "~"
.Replacement.Text = ChrW(625)
.Wrap = wdFindContinue
.MatchCase = True
End With
.Range.Find.Execute Replace:=wdReplaceAll
End With
wdDoc.Close SaveChanges:=True
Set wdDoc = Nothing
Application.ScreenUpdating = True
Exit Sub
UpdateErr:
Debug.Print "Update file: " & filePath & " Error: " & Err.Description
Set wdDoc = Nothing
End Sub