Condividi:        

Creazione file WORD da elenco Excel

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

Re: Creazione file WORD da elenco Excel

Postdi DuccioExcel » 22/03/17 13:37

ho trovato questo sul web, dovrebbe essere qualcosa di simile ma andrebbe riadattato.

Codice: Seleziona tutto
Sub Scrivi_in_file_esistente()

Dim applWord As Object
Dim docWord As Object
Dim a1 As Excel.Name
Dim i As Integer

'set the Application object variable to create a new instance of Word:
Set applWord = CreateObject("Word.Application")

'make the Word window visible:
applWord.Visible = True

'maximize Word window:
'replaced the Word's built-in constant wdWindowStateMaximize with its numerical value 1.
applWord.WindowState = 1

'opens an existing word document from a defined folder:
Set docWord = applWord.Documents.Open("C:Users...Modello.docx")

For i = 1 To 4
    docWord.Bookmarks("a" & i).Range.Text = Sheets("Ingresso dati").Cells(2, i + 1).Value
Next i

'close and save the document:
docWord.SaveAs Filename:="C:Users...Offerta " & Sheets("Ingresso dati").Cells(2, 2).Value & ".docx"

docWord.Close
'quit the word application:
applWord.Quit
'clear the object variables:
Set docWord = Nothing
Set applWord = Nothing
   
End Sub
DuccioExcel
Utente Junior
 
Post: 14
Iscritto il: 20/03/17 12:51

Sponsor
 

Re: Creazione file WORD da elenco Excel

Postdi DuccioExcel » 22/03/17 13:39

ho trovato questo sul web ma occorrebbe riadattarlo, boh non so neanche se è questo

Codice: Seleziona tutto
Sub intervallo()
    Dim rig As Integer
    Dim col As Integer
    Dim rigT As Integer
    Dim colT As Integer
    Dim arr() As Variant
    Sheets("foglio1").Select
    'rig = Selection.Row
    'col = Selection.Column
    rigT = Range(Range("a1"), Range("a1").End(xlDown)).Count    ' Selection.Rows.Count
    colT = Range(Range("a1"), Range("a1").End(xlToRight)).Count    'Selection.Columns.Count
    'rigT = rigT + 1
    'col = 26
    ReDim arr(rigT, colT)
    For i = 1 To rigT
        For a = 1 To colT
            arr(i, a) = Cells(i, a)
        Next a
    Next i
    Call stampaW(arr, rigT, colT)    'rig, 'col,
    Debug.Print rig & " - " & col & " - " & rigT & " - " & colT & " - "

End Sub

Codice: Seleziona tutto
Sub stampaW(arr As Variant, rt As Integer, ct As Integer)    ',rt As Integer, ct As Integer
    Dim appW As Word.Application
    Dim docW As Word.Document
    Dim tblW As Word.Table
    Dim rangeW As Word.Range
    Dim i As Integer
    Dim a As Integer
    Set appW = CreateObject("word.application")
    Set docW = appW.Documents.Add
    Set rangeW = docW.Range(0, 0)
    Set tblW = docW.Tables.Add(rangeW, rt, ct)

    With tblW
        For i = 1 To rt
            For a = 1 To ct
                .Cell(i, a).Range.InsertAfter CStr(arr(i, a))
            Next a
        Next i
        .Columns.AutoFit
    End With

    appW.Visible = True

    Set appW = Nothing
    Set docW = Nothing
End Sub
DuccioExcel
Utente Junior
 
Post: 14
Iscritto il: 20/03/17 12:51

Re: Creazione file WORD da elenco Excel

Postdi alfrimpa » 22/03/17 14:36

Premetto che è l'ultima volta che intervengo in questa discussione.

Ripeto per l'ennesima volta che senza file non si va da nessuna parte.

Ed inserire solo del codice preso da internet ugualmente non serve a nulla.
Alfredo

Win7 + Office 2007
Avatar utente
alfrimpa
Utente Senior
 
Post: 1201
Iscritto il: 30/12/13 17:01
Località: Napoli

Re: Creazione file WORD da elenco Excel

Postdi Anthony47 » 23/03/17 14:05

Quelle macro non c'entrano niente con Stampa Unione.
Inoltre Stampa Unione e' un processo troppo personalizzato perche' un terzo (il forum) possa sviluppare una macro che realizzi i tuoi bisogni.
Facciamo cosi': lavorando in Word, registra una macro mentre avvii ed esegui la stmpa unione che ti interessa; esegui poi quella macro e controlla che faccia effettivamente il lavoro atteso.
Poi pubblica il codice ottenuto e vedremo come inserire quelle istruzioni in una macro attivata da Excel, che apra il doc sorgente ed esegua la Stampa Unione.
Per avviare la registrazione di una macro: Tab Sviluppo, gruppo Codice, Registra macro; scegli Memorizza la macro in "Documento corrente" (invece che in "Tutti i documenti"); poi esegui diligentemente le operazioni di Avvio ed esecuzione di Stampa unione. Alla fine ferma la registrazione: Tab Sviluppo, gruppo Codice, Interrompi registrazione.
Per visualizzare il codice, da Word: premi Alt-F8, seleziona la macro registrata dall'elenco di macro visualizzate, premi Modifica. Si apre l'ambiente macro dove potrai copiare il codice per allegarlo al tuo prossimo messaggio.

Informazioni piu' dettagliate su come registrar una macro in Excel sono disponibili qui: viewtopic.php?f=26&t=103893#p622593
Possono tornare comode nel caso (ad esempio) che il tuo Word non abbia il tab Sviluppi.

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19213
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Creazione file WORD da elenco Excel

Postdi DuccioExcel » 27/03/17 14:35

ciao
grazie a tutti, ci sto provando nei ritagli di tempo.

un salutone!
DuccioExcel
Utente Junior
 
Post: 14
Iscritto il: 20/03/17 12:51

Re: Creazione file WORD da elenco Excel

Postdi DuccioExcel » 31/03/17 08:14

Ciao.

per info grazie ai vs aiuti e a al web ci sono riuscito! :D
tuttavia è un risultato fatto per tentativi ma qualocsa ho imparata, fichissimo.

un salutone e un bravo a tutti voi

alla prossima
DuccioExcel
Utente Junior
 
Post: 14
Iscritto il: 20/03/17 12:51

Precedente

Torna a Applicazioni Office Windows


Topic correlati a "Creazione file WORD da elenco Excel":


Chi c’è in linea

Visitano il forum: Nessuno e 48 ospiti