Buongiorno a tutti!
La mia esigenza è quella di creare una macro che permetta di sostituire determinate parole non nel documento aperto ma in tutti gli altri file (word ma anche excel e power point se fosse possibile) presenti in una cartella.
la situazione attuale è la seguente:
ho creato un command button
cliccandoci sopra mi si apre una user form con
-3 caselle di testo con le parole da sosituire
-3 caselle vuote in cui scrivere le parole "corrette"
- un pulsante che quando viene cliccato sostituisce tutte le parole nei docs della cartella MA mi apre i vari documenti permettondomi di salvarli con nome (per non modificare i documenti originali).
Il codice è il seguente:
--------------------------------------------------------
Private Sub CommandButton1_Click()
Set fs = Application.FileSearch
Dim doc As Document
Dim wd As New Word.Application
With fs
.LookIn = "C:\Documents and Settings\xxxxxx\Desktop\xxxxxxxxx"
.SearchSubFolders = True
.FileName = "*.doc"
If .Execute() > 0 Then
For i = 1 To .FoundFiles.Count
'MsgBox .FoundFiles(i)
Set doc = wd.Documents.Open(.FoundFiles(i))
wd.Selection.Find.ClearFormatting
wd.Selection.Find.Replacement.ClearFormatting
With wd.Selection.Find
.Text = textBox1.Text()
.Replacement.Text = TextBox2.Text()
.Text = textBox3.Text()
.Replacement.Text = TextBox4.Text()
.Text = textBox5.Text()
.Replacement.Text = TextBox6.Text()
.Text = textBox4.Text()
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = True
End With
wd.Selection.Find.Execute Replace:=wdReplaceAll
wd.Documents.Open "C:\Documents and Settings\xxxxxx\Desktop\xxxxxxxx\ciao.doc"
Next i
Else
MsgBox "Nessun file trovato"
End If
End With
wd.Quit
End Sub
Private Sub UserForm_Initialize()
Textbox1.Text = "nomeazienda"
Textbox3.Text = "data"
Textbox5.Text = "datainizio"
End Sub
-------------------------------------------------------------------
C e qualcosa che non funziona..dove sta il problema?
Io credo che stia nel fatto che non si capisca che la text box 1 va sostituita con il contenuto della 3, e via dicendo..
Se volessi estendere la sostituzione non solo a ai .doc ma anche a .xls e .ppt come dovrei fare?
Grazie a chi mi darà una mano!!!