Domanda Modo semplice per inserire tutti i campi di un file excel in file word x stampa unione.

giulianovac

Access/VBA Expert
Expert
9 Giugno 2018
1.166
212
63
Italy
2013 2019
90
come vedi dalla scheda, che in pratica non ha testo ma solo i dati dell'excel.
mi sarebbe stato utile poterli inserire tutti assieme
Esattamente quanto puoi fare usando com esempio il mio tutorial (che ti ho già segnalato).
Oltretutto, a differenza di questo, non hai nemmeno una tabella (che avrebbe complicato la faccenda).

Direi che è davvero semplice anche perché, se non ho visto male, i nomi delle colonne Excel sono uguali ai campi della lettera.
 

alfrimpa

VBA Expert
Supermoderatore
Expert
18 Dicembre 2015
16.019
525
113
65
Napoli
2013
234
Ciao Arleena @Arleena

Mah comincia a provare e viediamo se ho capito.

Ti allego file di Excel con due fogli:"Risposte del modulo 1" e "Scheda".

Sul primo foglio ci sono i dati e sul secondo ho riprodotto la scheda del file di Word.

Se nella cella H1 inserisci un numero (da 2 a 23) vedrai che la scheda si compila de dati presenti sul primo foglio per la specifica Ussl.

Per vedere meglio però dovresti mettere sul primo foglio dati tutti diversi (ora sono tutti uguali).

Prova un po' e fai sapere.

P.S. giulianovac @giulianovac se ho capito bene io ho usato un banale CERCA.ORIZZ() abbinato ad un SE.ERRORE(); poi se si devono stampare tutte le schede basta una macro ancora più banale.
 

Allegati

alfrimpa

VBA Expert
Supermoderatore
Expert
18 Dicembre 2015
16.019
525
113
65
Napoli
2013
234
Arleena @Arleena

Ma una volta che hai le schede compiate con i valori cosa ci devi fare?
 

Arleena

Nuovo utente
8 Aprile 2019
17
0
1
Excel 2010
0
come vedi dalla scheda, che in pratica non ha testo ma solo i dati dell'excel.
mi sarebbe stato utile poterli inserire tutti assieme
Esattamente quanto puoi fare usando com esempio il mio tutorial (che ti ho già segnalato).
Oltretutto, a differenza di questo, non hai nemmeno una tabella (che avrebbe complicato la faccenda).

Direi che è davvero semplice anche perché, se non ho visto male, i nomi delle colonne Excel sono uguali ai campi della lettera.
riguarderò il tutorial xchè non ci ho capito granchè :(
 

Arleena

Nuovo utente
8 Aprile 2019
17
0
1
Excel 2010
0
Ciao Arleena @Arleena

Mah comincia a provare e viediamo se ho capito.

Ti allego file di Excel con due fogli:"Risposte del modulo 1" e "Scheda".

Sul primo foglio ci sono i dati e sul secondo ho riprodotto la scheda del file di Word.

Se nella cella H1 inserisci un numero (da 2 a 23) vedrai che la scheda si compila de dati presenti sul primo foglio per la specifica Ussl.

Per vedere meglio però dovresti mettere sul primo foglio dati tutti diversi (ora sono tutti uguali).

Prova un po' e fai sapere.

P.S. giulianovac @giulianovac se ho capito bene io ho usato un banale CERCA.ORIZZ() abbinato ad un SE.ERRORE();
Ciao Arleena @Arleena

Mah comincia a provare e viediamo se ho capito.

Ti allego file di Excel con due fogli:"Risposte del modulo 1" e "Scheda".

Sul primo foglio ci sono i dati e sul secondo ho riprodotto la scheda del file di Word.

Se nella cella H1 inserisci un numero (da 2 a 23) vedrai che la scheda si compila de dati presenti sul primo foglio per la specifica Ussl.

Per vedere meglio però dovresti mettere sul primo foglio dati tutti diversi (ora sono tutti uguali).

Prova un po' e fai sapere.

P.S. giulianovac @giulianovac se ho capito bene io ho usato un banale CERCA.ORIZZ() abbinato ad un SE.ERRORE(); poi se si devono stampare tutte le schede basta una macro ancora più banale.
figo... :) mi sa che me lo riciccio per un'altra cosa.. anche se non è esattamente quello che stavo cercando.
probabilmente la soluzione di giulianovac @giulianovac ci va più vicino .. ma non gira nel pc dell'ufficio :)
 

Arleena

Nuovo utente
8 Aprile 2019
17
0
1
Excel 2010
0
Ciao Arleena @Arleena

Mah comincia a provare e viediamo se ho capito.

Ti allego file di Excel con due fogli:"Risposte del modulo 1" e "Scheda".

Sul primo foglio ci sono i dati e sul secondo ho riprodotto la scheda del file di Word.

Se nella cella H1 inserisci un numero (da 2 a 23) vedrai che la scheda si compila de dati presenti sul primo foglio per la specifica Ussl.

Per vedere meglio però dovresti mettere sul primo foglio dati tutti diversi (ora sono tutti uguali).

Prova un po' e fai sapere.

P.S. giulianovac @giulianovac se ho capito bene io ho usato un banale CERCA.ORIZZ() abbinato ad un SE.ERRORE();
Ciao Arleena @Arleena

Mah comincia a provare e viediamo se ho capito.

Ti allego file di Excel con due fogli:"Risposte del modulo 1" e "Scheda".

Sul primo foglio ci sono i dati e sul secondo ho riprodotto la scheda del file di Word.

Se nella cella H1 inserisci un numero (da 2 a 23) vedrai che la scheda si compila de dati presenti sul primo foglio per la specifica Ussl.

Per vedere meglio però dovresti mettere sul primo foglio dati tutti diversi (ora sono tutti uguali).

Prova un po' e fai sapere.

P.S. giulianovac @giulianovac se ho capito bene io ho usato un banale CERCA.ORIZZ() abbinato ad un SE.ERRORE(); poi se si devono stampare tutte le schede basta una macro ancora più banale.
figo... :) mi sa che me lo riciccio per un'altra cosa.. anche se non è esattamente quello che stavo cercando.
probabilmente la soluzione di giulianovac @giulianovac ci va più vicino ..



come vedi dalla scheda, che in pratica non ha testo ma solo i dati dell'excel.
mi sarebbe stato utile poterli inserire tutti assieme
Esattamente quanto puoi fare usando com esempio il mio tutorial (che ti ho già segnalato).
Oltretutto, a differenza di questo, non hai nemmeno una tabella (che avrebbe complicato la faccenda).

Direi che è davvero semplice anche perché, se non ho visto male, i nomi delle colonne Excel sono uguali ai campi della lettera.

ho provato :( ma non va..


PS.. qual'è il formato consenito per le immagini?
 

Allegati

alfrimpa

VBA Expert
Supermoderatore
Expert
18 Dicembre 2015
16.019
525
113
65
Napoli
2013
234
Arleena @Arleena ha scritto

anche se non è esattamente quello che stavo cercando
Se non spieghi esattamente quello che sta cercando si possono solo sparare soluzioni a caso.

In cosa quello che ho proposto non va bene?

Che cosa manca o non va rispetto a quello che cerchi?
 

Arleena

Nuovo utente
8 Aprile 2019
17
0
1
Excel 2010
0
Mi serve un file di testo .doc per ciascun record che poi diventa un pdf che poi va inviato a ciascun utente.

col tuo sistema rimango sempre dentro un xls :( come faccio ad avere un word/pdf x ciascuna ulss?
 

alfrimpa

VBA Expert
Supermoderatore
Expert
18 Dicembre 2015
16.019
525
113
65
Napoli
2013
234
Arleena @Arleena

Questa macro

Visual Basic:
Sub CreaPDF()
Dim i As Integer
Dim perc As String
Dim scheda As String
perc = "c:\arleena\"
Application.ScreenUpdating = False
For i = 2 To 23
Sheets("Scheda").Range("H1").Value = i
scheda = Sheets("Risposte del modulo 1").Range("c" & i).Value
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
        perc & scheda & ".pdf", Quality:=xlQualityStandard, IncludeDocProperties:= _
        True, IgnorePrintAreas:=False, OpenAfterPublish:=False
Next i
Application.ScreenUpdating = True
MsgBox "Creazione PDF eseguita"
End Sub
Ti crea tanti PDF quante sono le Ulss ciascuno con i propri dati e li salva in una directory denominata "c:\arleena" che deve essere già presente.
 

giulianovac

Access/VBA Expert
Expert
9 Giugno 2018
1.166
212
63
Italy
2013 2019
90
Mi serve un file di testo .doc per ciascun record che poi diventa un pdf che poi va inviato a ciascun utente.
col tuo sistema rimango sempre dentro un xls :( come faccio ad avere un word/pdf x ciascuna ulss?
Giusto per farti vedere l'enorme difficoltà nel compilare tutti i dati usando il mio tutorial Caffe_rido
in pratica basta UNA riga di codice!
Questo è il codice da inserire al posto di quello esistente e che aggiorna tutti i segnaposto nel tuo file word in un colpo solo:

Visual Basic:
        Rem ------------------------------------------------------------
        Rem COMPILAZIONE LETTERA WORD
        Rem ------------------------------------------------------------
         Dim X as Long
        For x = 1 To 22
            Set xRange = xWord.ActiveDocument.Range
            xRange.Find.Execute "<<" & sh.Cells(1, x) & ">>", , , , , , , , , sh.Cells(i, x), True
        Next x
        Rem Imposto il nome del file di uscita (sia esso docx o pdf)
        sFileOutput = sh.Cells(i, 2)
        Rem ------------------------------------------------------------
che va inserito dopo:
Visual Basic:
        Rem Apro il file Word, che mi serve da modello, tanto non verrà
        Rem modificato, perché andrà poi salvato con il nome del cliente
        xWord.Documents.Open sFileWord
al posto delle istruzioni successive che vanno tolte/commentate fino a:
Visual Basic:
        Rem ------------------------------------------------------------
        Rem Verifico che il percorso di output sia corretto
        If Right$(sCartellaOutput, 1) <> "\" Then
            sCartellaOutput = sCartellaOutput & "\"
        End If
Nel codice che viene dopo, invece, dovrai commentare la riga che imposta il nome del file (sFileOutput) perché già indicato nella COMPILAZIONE LETTERA WORD:
Visual Basic:
        Rem ------------------------------------------------------------
        Rem Preparo il nome del file da salvare (senza estensione)
        '''sFileOutput = sCognome & " " & sNome & "-" & sPratica ' <<<<< DA COMMENTARE
        Rem e salvo il file aggiungendo l'estensione richiesta
        If chkSalvaPDF.Value = True Then
            sFileOutput = sFileOutput & ".pdf"
            xWord.ActiveDocument.SaveAs sCartellaOutput & sFileOutput, wdFormatPDF
        Else
            sFileOutput = sFileOutput & ".docx"
            xWord.ActiveDocument.SaveAs sCartellaOutput & sFileOutput, wdFormatDocumentDefault
        End If
        Rem ------------------------------------------------------------
Alla fine otterrai tutti i file DOCX, mentre se mantieni l'opzione Salva in PDF otterrai tutti i PDF.

Come vedi è più complicato da spiegare che da fare. Crepa_pelle

Senza nulla togliere all'ottimo lavoro che ha fatto alfrimpa @alfrimpa che saluto cappello_saluta
 
Ultima modifica:

alfrimpa

VBA Expert
Supermoderatore
Expert
18 Dicembre 2015
16.019
525
113
65
Napoli
2013
234
Ciao giulianovac @giulianovac

Spero di sbagliarmi ma ho molti dubbi che Arleena @Arleena possa capire le mie ma, soprattutto, le tue indicazioni.
 

giulianovac

Access/VBA Expert
Expert
9 Giugno 2018
1.166
212
63
Italy
2013 2019
90
Ciao alfrimpa @alfrimpa
Può darsi, non lo so.
Nel caso, può sempre chiedere. :dubbioso:
 

Arleena

Nuovo utente
8 Aprile 2019
17
0
1
Excel 2010
0
grazie per la stima alfrimpa @alfrimpa :( e per la pazienza giulianovac @giulianovac

capisco che per voi siano soluzioni semplici.. ma tra quello che so fare io e tra quello che mi lascia fare il pc dell'ufficio, nessuna delle due soluzioni è applicabile.

mi spiace di avervi fatto perdere tempo. :(
 

alfrimpa

VBA Expert
Supermoderatore
Expert
18 Dicembre 2015
16.019
525
113
65
Napoli
2013
234
Arleena @Arleena

Innanzitutto mi scuso se posso essere sembrato offensivo nei tuoi confronti e se lo sono stato non era nelle mie intenzioni e me ne scuso.

Detto questo io ritengo che se il tuo scopo è creare tanti PDF per quante sono le Ulss ognuno con i propri dati la mia macro fa proprio questo.

Perché dici che al tuo caso non è applicabile?

Se poi, per direttive aziendali, non puoi usare macro come dice Giuliano non puoi fare altro che creare i file Pdf manualmente.
 

Sostieni ForumExcel

Aiutaci a sostenere le spese e a mantenere online la community attraverso una libera donazione!