Notifiche
Cancella tutti

La consultazione del forum è libera per tutti.

Per poter porre un quesito è invece necessario essere un utente registrato (clicca qui se non lo sei).

Tutti gli utenti che richiedono un supporto, come da REGOLAMENTO, sono caldamente invitati ad allegare un file di esempio con l'indicazione di quello che si desidera ottenere.

Da excel a file word in automatico...

 
Forum 1
(@aurelio)
Utente Attivo

Salve.

Sono un nuovo utente e neofita di excel che amomolto.

Vorrei sapere se esiste la possibilità una volta creato un semplice database con excel (per es in A1 Cognome, in A2 Nome ed in A3 indirizzo) avere un modo per ottenere automaticamente in A4, ma senza l'uso del VBA (che non conosco), la creazione e quindi il link ad un file di word denominato con il cognome e nome presenti nella stessa riga.

Grazie

Versione di Excel
Excel 2016
Sistema operativo
Windows
Quota
Avviatore di Topic Postato : 19/03/2021 17:37
Marius44
(@marius44)
Excel Guru Moderatore

Ciao

A4=A1 & A2 & A3

oppure

A4= CONCATENA(A1;A2;A3)

 

Ciao,

Mario

RispondiQuota
Postato : 20/03/2021 06:11
Forum 1
(@aurelio)
Utente Attivo

Ti ringrazio ma.... io intendevo qualcosa in più

Io vorrei utilizzare un comando (o una macro) che mi creasse automaticamente il file di word con quelle caratteristiche.

Spero di essere stato più chiaro.

RispondiQuota
Avviatore di Topic Postato : 20/03/2021 09:59
emme
 emme
(@emme)
Excel Ninja Moderatore

Buongiorno Aurelio.

Non è banale. Smanettando un po' si potrebbe fare, ma temo tu debba passare alle macro.

Comunque mancano diverse informazioni.

- In quale posizione vuoi costruire il file di Word? Il path dove e come lo intendi definire?

- Come comportarsi in caso di file con stesso nome?

- Il file deve essere vuoto o deve contenere informazioni già in fase di creazione?

Chissà quante altre domande usciranno in fase di sviluppo.

Office 2019

RispondiQuota
Postato : 20/03/2021 10:41
Forum 1
(@aurelio)
Utente Attivo

Ho creato in c:\ una cartella denominata “DB”. In questa vi è il mio file Excel ed una sottocartella denominata “DATI” in cui inserire i files di Word per cui questi saranno in C:\DB\DATI.

AL momento in questa sottocartella vi è un file di word vuoto che richiamo con una (modestissima) macro e che poi salvo manualmente con il nome che mi interessa ed infine creo un collegamento in un’altra colonna del mio file di Excel. Queste ultime sono le operazioni che vorrei automatizzare.

Per quanto concerne eventuale omonimia sarebbe bello inserire oltre a cognome e nome anche la data di nascita. Ma sapendo che excel trasforma la data in numero non mi è di aiuto pertanto nel file allegato  a mò di esempio ho concatenato al cognome e nome la città. Ciò potrebbe parzialmente risultarmi utile. Certo sarebbe meglio la data di nascita, anche solo l’anno…

Infine attualmente uso un file di word vuoto in cui manualmente inserisco le generalità. Ma “aspiro” ad adottare un modello con queste già presenti automaticamente..

 

Ti ringrazio

 

RispondiQuota
Avviatore di Topic Postato : 20/03/2021 17:10
emme
 emme
(@emme)
Excel Ninja Moderatore

Ho sviluppato una routine abbastanza rudimentale ma funziona. Con alcune avvertenze:
1. costruisce un file di Word vuoto in cartella definita (in questo caso, in cella Z1 del foglio) con nome CognomeNome.dd.mm.yyyy.Comune;
2. CognomeNome.dd.mm.yyyy.Comune sono relativi alla cella attiva (quella dove è posizionato il cursore);
3. definizione e impostazione di Word prende molto tempo (8"/10");
4. dopo il salvataggio il file verrà chiuso (nel caso, questa istruzione si può eliminare)
4. IMPORTANTISSIMO: prima di procedere è necessario attivare Microsoft Word 16.0 Object Library:
aprire l'editor (Alt+F11) e impostare questo:
> Strumenti
> Riferimenti
> spuntare Microsoft Word 16.0 Object Library + OK
Senza questo non funzionerà.

Dopodiché sarà possibile incollare la routine e farla girare.

Questa la routine:

Option Explicit
Sub DocxDaXlsx()
Dim WordApp As Word.Application
Dim WPath As String
Dim Xdta As String, DD As String, MM As String, YYYY As String
Dim Xar As Long
'
Xar = ActiveCell.Row
If Xar < 3 Or IsEmpty(Cells(Xar, 1)) = True Then
MsgBox ("Cursore posizionato su cella non valida")
Exit Sub
End If
'scompatta data
Xdta = Cells(Xar, 4)
DD = "." & Left(Xdta, 2) & "."
MM = Mid(Xdta, 4, 2) & "."
YYYY = Right(Xdta, 4) & "."
'
'costruisce path e nome file word
WPath = Range("Z1") & Cells(Xar, 2) & Cells(Xar, 3) & DD & MM & YYYY & Cells(Xar, 5) & ".docx"
'
'imposta tutto quello che serve a Word
Set WordApp = New Word.Application
WordApp.Documents.Add Template:="Normal", NewTemplate:=False, DocumentType:=0
WordApp.Visible = True
'
'salva e chiude il file Word
WordApp.ActiveDocument.SaveAs Filename:=WPath
'
'istruzione di chiusura del file. Eliminare se si vuole mantenere il file docx aperto
WordApp.ActiveDocument.Application.Quit
'
'rilascia memoria
Set WordApp = Nothing
WPath = Empty
DD = Empty
MM = Empty
YYYY = Empty
Xdta = Empty
Xar = Empty
End Sub

Per l'esecuzione sono sufficienti le colonne BCDE.
Il Path (C:\DB\DATI) è in cella Z1 ma si può cablare direttamente nella Sub
(WPath = Range("Z1") & ... = WPath = "C:\DB\DATI\" & ...)
In ogni caso (cella o cablato) la stringa deve concludersi con "\".
Buon lavoro.

Office 2019

RispondiQuota
Postato : 23/03/2021 12:54
Forum 1
(@aurelio)
Utente Attivo

Ti ringrazio per il tuo suggerimento e per il tempo che hai impiegato per me.

Nonostante quanto hai scritto sia ottimamente dettagliato ho trovato molte difficoltà per cui ho deciso di riprovarci dopo che avrò imparato qualche minima nozione di VBA.

Conservo preziosamente la tua idea sperando di poterla attivare non appena avrò imparato qualcosa...

Di nuovo grazie e buon weekend.

Aurelio

RispondiQuota
Avviatore di Topic Postato : 27/03/2021 16:21
emme
 emme
(@emme)
Excel Ninja Moderatore

Secondo, me se la cosa ti serve con urgenza, in questa attività c'è poco da rimuginare. La routine è già pronta così come si vede. E' solo da copiare in un modulo (click dx su VbaProject, inserisci Modulo), visibili dopo aver avviato l'editor (Alt+F11), aver impostato Microsoft Word 16.0 Object Library come spiegato più sopra e aver impostato il percorso della cartella in cui salvare il docx in cella Z1. Naturalmente il lavoro dovrà essere salvato come "Cartella di lavoro con attivazione Macro di Excel (*.xlsm)".

Comunque la discussione è risolta e ti chiedo di segnarla come "risolta". Grazie, alla prossima.

Office 2019

RispondiQuota
Postato : 28/03/2021 11:42
Forum 1
(@aurelio)
Utente Attivo

Risolta, Grazie

RispondiQuota
Avviatore di Topic Postato : 28/03/2021 16:54
Condividi:

[]
×