ho un lavoro abbastanza complesso da fare e con il vostro aiuto mi piacerebbe portarlo a termine. Probabilmente aprirò diversi post per risolvere ogni singola questione, intanto ve lo espongo.
Quello che devo fare è unire parte di diversi file word in un unico file. Ora, guardando un po' in giro in rete ho letto che "forse" il mio lavoro si potrebbe risolvere in questo modo.
Più precisamente mi sono studiato un vostro post ma non sono riuscito ad adattarlo alle mie esigenze: viewtopic.php?f=26&t=91997
In un foglio excel creare un elenco tramite codice VBA dei file *.doc che voglio unire. In un secondo foglio dargli un ordine. e quindi con una macro di word unire i documenti.
Vado a descrivere quello che ho fatto fino adesso:
- ho creato un nuovo file excel
- questo file non si trova in un path fisso (cambia di volta in volta)
- la cartella che contiene questo file contiene anche i file *.doc che devo unire (quindi hanno lo stesso path)
- ho creato questo codice che mi carica il nome dei file doc nel foglio1......e qui ho il primo problema: non mi carica i file giusti e non capisco perchè... posto il codice:
- Codice: Seleziona tutto
Public Sub CaricaOFFERTE()
'Carica nel foglio Elenco le offerte della cartella
Dim Perc As String
Dim sh1 As Worksheet
Dim sh2 As Worksheet
Set sh1 = ThisWorkbook.Worksheets("Foglio1")
Set sh2 = ThisWorkbook.Worksheets("Elenco")
'skrolling del monitor
Application.ScreenUpdating = False
For Each sh In Worksheets(Array("Foglio1"))
sh.Range("B2:B10").Delete Shift:=xlUp
Next
Perc = ThisWorkbook.Path
With sh1
Worksheets("Foglio1").Select
Range("B2").Select
With ActiveCell
Worksheets("Foglio1").Range(.Cells(1), .End(xlDown)).ClearContents
End With
End With
ElencoFile Direct:=Perc, Estens:="*.Doc", Inicell:=ActiveCell
'ripristino l'aggiornamento del monitor
Application.ScreenUpdating = True
End Sub
Sub ElencoFile(ByVal Direct As String, ByVal Estens As String, Inicell As Range)
Dim i As Integer, f As String
ChDir Direct
f = Dir(Estens)
If f = "" Then Exit Sub
While f <> ""
i = i + 1
Inicell(i) = f
f = Dir
Wend
'Sheets("Elenco").Select
'Range("A1").Select
End Sub
Una volta sistemato questo problema, "speriamo di riuscirci" , il passo successivo sarebbe quello di ordinare tramite magari dei menù a tendina nel Foglio2 i documenti elencati da unire.
Intanto grazie per l'attenzione e spero a presto
Ciao