› Sviluppare funzionalita su Microsoft Office con VBA › File Word salvato in una Directory diversa
-
AutoreArticoli
-
Buona sera a Tutti;
mi stavo chiedendo se è possibile risolvere questo quesito:Ho due Directory (Cartelle):
- C:\Prove\Word\Test\
- C:\Prove\Word\Test\Schede\Ho Due File, che allego:
- Test.xlsm
- _Base.docxNel File Word _Base.docx ho tre "Bookmarks" (Segnalibri):
- Nominativo
- Data_di_nascita
- Codice_FiscaleNel File Test.xlsm ho un Codice VBA che mi consente di salvare in Word una scheda per ogni nominativo con i tre Bookmarks compilati.
Option Explicit Sub Copia_in_Word() On Error GoTo 10 Application.ScreenUpdating = False Dim FileDoc As String Dim wrdApp, wrdDoc Const Path As String = "C:\Prove\Word\Test\" Const FileWord As String = "_Base.docx" If ActiveCell.Row < 3 Or ActiveCell.Row > Range("A" & Rows.Count).End(xlUp).Row Then End FileDoc = Path & Cells(ActiveCell.Row, 2) & ".docx" Set wrdApp = CreateObject("Word.Application") wrdApp.Visible = True Set wrdDoc = wrdApp.Documents.Open(Path & FileWord) With wrdDoc .Bookmarks("Nominativo").Range.Text = "Nominativo: " & Cells(ActiveCell.Row, 2) ' Nominativo .Bookmarks("Data_di_nascita").Range.Text = "Data di nascita: " & Cells(ActiveCell.Row, 3) ' Data di nascita .Bookmarks("Codice_Fiscale").Range.Text = "Codice Fiscale: " & Cells(ActiveCell.Row, 6) ' Codice Fiscale End With wrdApp.ActiveDocument.SaveAs Filename:=FileDoc wrdApp.Quit 10: Set wrdApp = Nothing Set wrdDoc = Nothing Application.ScreenUpdating = True Cells(ActiveCell.Row + 1, 2).Select End SubIl Codice VBA mi sembra funzioni correttamente ma vorrei che il File Word di ogni Nominativo venga salvato non in C:\Prove\Word\Test\, come avviene attualmente, ma in C:\Prove\Word\Test\Schede\.
In realtà ho risolto con due Codici VBA che:
- Copia il File presente in C:\Prove\Word\Test\ in C:\Prove\Word\Test\Schede\
- Cancella il File presente in C:\Prove\Word\Test\Quello che volevo evitare è proprio l'utilizzo di questi due Codici VBA aggiuntivi.
Ringrazio in anticipo chi potrà propormi una soluzione adeguata.
Buon fine settimana.
Giuseppe
Allegati:
You must be logged in to view attached files.Buona giornata a Tutti.
Chiedo scusa era proprio una banalità, ho risolto semplicemente con:
Const Path_Sch As String = "C:\Prove\Word\Test\Schede\" FileDoc = Path_Sch & Cells(ActiveCell.Row, 2) & Ext wrdApp.ActiveDocument.SaveAs Filename:=FileDocGiuseppe
Buondì GiuseppeMN
Anche se, come dici, era una banalità io confesso che non c'ero arrivato (e ti assicuro che ho provato).
Ciao,
Mario
Buona giornata, Mario.
A proposito di:
... ti assicuro che ho provato ...
Grazie del tempo che mi hai dedicato.
Giuseppe
-
AutoreArticoli
