|
|
|
|
Strumenti |
05-01-2021, 18:36 | #1 |
Senior Member
Iscritto dal: Feb 2006
Città: Conegliano
Messaggi: 2846
|
Macro stampa unione per creazione word: spariscono immagini
Ciao,
da un file excel ho fatto una stampa unione su un file word; mi ritrovo ora con un word con svariate "lettere", ciascuna di queste con più pagine. Il mio obiettivo è quello di salvare un file word per ciascuna lettera e ci sono riuscito con la macro sotto. Il problema è che non mi salva le immagini che invece escono perfettamente nel file di stampa unione. Nei file creati è tutto ok, sia la posizione nel disco, il nome del file, il testo è ok, le foto nella loro posizione, ma... non ci sono al loro posto un riquadro con scritto "non è possibile visualizzare l'immagine collegata etcetc" la macro è questa, vedete per caso errori? Codice:
Public StampaWord() On Error GoTo ErrH Dim objWdMailMerge As Word.MailMerge Dim lngRecNum As Long Dim strPath As String Dim strFilename As String Application.ScreenUpdating = False strPath = "C:\Users\NOME UTENTE\CARTELLA DI DESTINAZIONE" Set objWdMailMerge = ThisDocument.MailMerge With objWdMailMerge .Destination = wdSendToNewDocument With .DataSource .ActiveRecord = wdLastRecord lngRecNum = .ActiveRecord .ActiveRecord = wdFirstRecord Do .FirstRecord = .ActiveRecord .LastRecord = .ActiveRecord strFilename = .DataFields("xy").Value If Len(strFilename) Then strFilename = strPath & strFilename objWdMailMerge.Execute With ActiveDocument .SaveAs strFilename, wdFormatdoc, AddToRecentFiles:=False .Saved = True .Close End With End If If .ActiveRecord = lngRecNum Then Exit Do .ActiveRecord = wdNextRecord Loop End With End With ExitProc: Application.ScreenUpdating = True Set objWdMailMerge = Nothing Exit Sub ErrH: MsgBox Err.Description Resume ExitProc End Sub
__________________
Vendo: HD 2,5/3,5 - blocchi/mobo - ram pc133/ddr/ddr2/ddr3 - video agp-pci-e - mast. ide/sata - cpu 775 - cpu old - sodimm ddr/ddr2/ddr3 - cavi/adattatori e altro Sconsigliati: canguro87 - dominik68 (poi Stefano.Cava) - kinta - VirtualT. (perditempo) Ultima modifica di Latvia : 07-01-2021 alle 16:06. |
07-01-2021, 15:51 | #2 |
Senior Member
Iscritto dal: Feb 2008
Messaggi: 1448
|
Il VBA parla solo di Mail. Suggerisco di ricercarTi un Forum Excel, dove avrai "molte risposte" (certo che non bastano solo le 2 righe di info)
|
07-01-2021, 15:54 | #3 |
Senior Member
Iscritto dal: Feb 2006
Città: Conegliano
Messaggi: 2846
|
perchè excel? è una macro su word. Ho modificato il primo post sperando sia più chiaro
__________________
Vendo: HD 2,5/3,5 - blocchi/mobo - ram pc133/ddr/ddr2/ddr3 - video agp-pci-e - mast. ide/sata - cpu 775 - cpu old - sodimm ddr/ddr2/ddr3 - cavi/adattatori e altro Sconsigliati: canguro87 - dominik68 (poi Stefano.Cava) - kinta - VirtualT. (perditempo) Ultima modifica di Latvia : 07-01-2021 alle 16:07. |
07-01-2021, 17:30 | #4 |
Senior Member
Iscritto dal: Feb 2008
Messaggi: 1448
|
Sicuramente ho sbagliato, MailMerge credo sia un semplice "incolla pezzo" di testo. Conosco stampa-unione tra Excel&Word, invece non sono capace solo con WORD. Casomai sarà un forum Word
Ultima modifica di Raffaele53 : 07-01-2021 alle 17:36. |
08-01-2021, 02:57 | #5 | |
Senior Member
Iscritto dal: Feb 2006
Città: Conegliano
Messaggi: 2846
|
Quote:
Su questo forum c'è una pagina dedicata ad excel, ma non a word, quindi l'ho scritto qui e spero che qualcuno mi possa aiutare visto che il forum è frequentato da gente esperta, non vedo perchè dovrei cercare altri forum
__________________
Vendo: HD 2,5/3,5 - blocchi/mobo - ram pc133/ddr/ddr2/ddr3 - video agp-pci-e - mast. ide/sata - cpu 775 - cpu old - sodimm ddr/ddr2/ddr3 - cavi/adattatori e altro Sconsigliati: canguro87 - dominik68 (poi Stefano.Cava) - kinta - VirtualT. (perditempo) |
|
08-01-2021, 10:27 | #6 |
Senior Member
Iscritto dal: Feb 2008
Messaggi: 1448
|
Il problema che avendo riunito tutte le domande in un'unico "post Excel/Word" non si può ricercare se qualcuno a già trattato l'argomento. Per Te ci vuole un "post dedicato" (come questo, se gli amministratori permettono), nel quale dovrai allegare i file Excel + Word ed inoltre dovrai fornire diverse altre informazioni. Per quanto abbia capito Excel crea la stampa unione, sarà Excel che deve sostituire i Dati & Foto nella pagina Word (casomai salvare ogni pagina se desideri). Prova ad allegarli che gli dò un'occhiata
Edit: Estraendo in C:\ questo esempio, dopo aver premuto "finalizza & unisci", torni in StampaUnione.docm ed avvia il codice http://www.filedropper.com/word-text Ultima modifica di Raffaele53 : 09-01-2021 alle 11:15. |
31-01-2021, 18:31 | #7 | |
Senior Member
Iscritto dal: Feb 2006
Città: Conegliano
Messaggi: 2846
|
Quote:
__________________
Vendo: HD 2,5/3,5 - blocchi/mobo - ram pc133/ddr/ddr2/ddr3 - video agp-pci-e - mast. ide/sata - cpu 775 - cpu old - sodimm ddr/ddr2/ddr3 - cavi/adattatori e altro Sconsigliati: canguro87 - dominik68 (poi Stefano.Cava) - kinta - VirtualT. (perditempo) |
|
31-01-2021, 18:43 | #8 |
Senior Member
Iscritto dal: Feb 2006
Città: Conegliano
Messaggi: 2846
|
questo il mio tentativo con il "mio" codice e metodo e il risultato nei file creati (senza immagine)
da estrarre in C:\ http://www.filedropper.com/fotopezzi
__________________
Vendo: HD 2,5/3,5 - blocchi/mobo - ram pc133/ddr/ddr2/ddr3 - video agp-pci-e - mast. ide/sata - cpu 775 - cpu old - sodimm ddr/ddr2/ddr3 - cavi/adattatori e altro Sconsigliati: canguro87 - dominik68 (poi Stefano.Cava) - kinta - VirtualT. (perditempo) |
01-02-2021, 15:49 | #9 |
Senior Member
Iscritto dal: Feb 2008
Messaggi: 1448
|
Tu sai che per la prima volta che si apre sul PC, sul files Word devi premere "NO" + LETTERE + Seleziona Destinatari e trovare il files Excel?
Salvi e poi premi SVILUPPO ed avvii il codice Comunque ho cambiato DOC_ + inserito una riga (come dall'esempio) e funziona. L'unico particolare che forse non gli piaceva la cartella "foto pezzi" ed inoltre per Word2013 si scrive con doppi \\ ex C:\\Stampa\\Foto\\ http://www.filedropper.com/stampa_4 |
01-02-2021, 17:58 | #10 | ||
Senior Member
Iscritto dal: Feb 2006
Città: Conegliano
Messaggi: 2846
|
Quote:
Quote:
- la parte "doc_" era la prima parte fissa del file divisa da quella variabile dalla linea - Le doppie \\ avevo visto, ma avendo io il 2019 a me funziona anche con una
__________________
Vendo: HD 2,5/3,5 - blocchi/mobo - ram pc133/ddr/ddr2/ddr3 - video agp-pci-e - mast. ide/sata - cpu 775 - cpu old - sodimm ddr/ddr2/ddr3 - cavi/adattatori e altro Sconsigliati: canguro87 - dominik68 (poi Stefano.Cava) - kinta - VirtualT. (perditempo) |
||
02-02-2021, 08:25 | #11 |
Senior Member
Iscritto dal: Feb 2008
Messaggi: 1448
|
Non hai detto se Ti servono dei DOC obbligatoriamente, magari dei PDF (più leggeri)? Le foto sono tutte *.JPG? Tutte le foto sono nella stessa cartella (oppure sono sparse in diverse cartelle)?
Di norma un percorso di rete è simile a \\Server Aziendale\Word\Stampa Unione\FileWord.docm... (puoi descriverLo)? Le foto sono tutte in ex \\Server Aziendale\Foto (oppure in diverse sottocartelle di Word)? |
02-02-2021, 10:00 | #12 | |
Senior Member
Iscritto dal: Feb 2006
Città: Conegliano
Messaggi: 2846
|
Quote:
- mi servono obbligatoriamente .doc per caricarli in software (ma ho già cambiato la macro che me li faceva .docx). (eventualmente per la stampa in pdf, le modifiche sulla macro sono complicate? o basta cambiare le righe dove c'è il riferimento al file d'uscita?) - le immagini sono tutti loghi/intestazioni/firme, il formato posso adattarlo - sono tutte nella stessa cartella - percorso: server\cartella\cartella\cartella\cartelle finali per organizzare le varie versioni (immagini comunque tutte in una cartella unica tra le "cartelle finali"). Nel percorso la prima cartella ha spazi e non posso ovviamente modificarla a mio piacimento, le altre volendo si
__________________
Vendo: HD 2,5/3,5 - blocchi/mobo - ram pc133/ddr/ddr2/ddr3 - video agp-pci-e - mast. ide/sata - cpu 775 - cpu old - sodimm ddr/ddr2/ddr3 - cavi/adattatori e altro Sconsigliati: canguro87 - dominik68 (poi Stefano.Cava) - kinta - VirtualT. (perditempo) |
|
02-02-2021, 16:13 | #13 |
Senior Member
Iscritto dal: Feb 2008
Messaggi: 1448
|
Usando il mio metodo con \\ e nella directory del file StampaUnione.docm, tre sottocartelle Doc, Foto, Pdf
Rimesso come prima "foto pezzi" con spazio, ho cambiato solo wdFormatdoc in wdFormatDocument e funziona in Word2013. Non riesco togliere lo sfarlallio del monitor dei file creati. |
05-02-2021, 21:32 | #14 | |
Senior Member
Iscritto dal: Feb 2006
Città: Conegliano
Messaggi: 2846
|
Quote:
io ho usato il tuo stampaunione nella mia cartella in c, non ho fatto nessuna modifica (ovvero nemmeno dove scrivi di mettere a posto le directory) e... funziona tutto!! ho ricreato tutto nel pc di lavoro (non posso inviarmi il file con le macro) sempre su c e lì non va, mi dice "chiamata di routine o argomento non validi" e purtroppo non so cosa voglia dire
__________________
Vendo: HD 2,5/3,5 - blocchi/mobo - ram pc133/ddr/ddr2/ddr3 - video agp-pci-e - mast. ide/sata - cpu 775 - cpu old - sodimm ddr/ddr2/ddr3 - cavi/adattatori e altro Sconsigliati: canguro87 - dominik68 (poi Stefano.Cava) - kinta - VirtualT. (perditempo) |
|
05-02-2021, 22:23 | #15 | |
Senior Member
Iscritto dal: Feb 2006
Città: Conegliano
Messaggi: 2846
|
Quote:
ok, così com'è funziona, non avevo rispettato il maiuscolo/minuscolo qui: strFilename = .DataFields("PERCORSO").Value & .DataFields("FOTO").Value 'aggiunto il PERCORSO sName = .DataFields("FOTO").Value 'aggiunta ora però io vorrei cambiare il nome finale del file, quindi ho scritto al posto di "foto" un altro campo della tabella e mi da l'errore citato sopra "chiamata di routine o argomento non validi", cosa sbaglio? Sto provando già sul mio file e in realtà se metto i due riferimenti a percorso e foto (hanno nomi diversi), funziona, ma appena metto due altri riferimenti, no. Ma direi che ci siamo
__________________
Vendo: HD 2,5/3,5 - blocchi/mobo - ram pc133/ddr/ddr2/ddr3 - video agp-pci-e - mast. ide/sata - cpu 775 - cpu old - sodimm ddr/ddr2/ddr3 - cavi/adattatori e altro Sconsigliati: canguro87 - dominik68 (poi Stefano.Cava) - kinta - VirtualT. (perditempo) |
|
06-02-2021, 14:30 | #16 |
Senior Member
Iscritto dal: Feb 2008
Messaggi: 1448
|
Per evitare le Maisc/Minus puoi mettere in 1° riga, Option compare text
>>>ora però io vorrei cambiare il nome finale del file Dimmi a quale "Campo Unione" Ti riferisci (l'hai inserito in Word?, è presente in Excel?). In teoria prima di >>>With ActiveDocument puoi cambiargli il nome con sName = ?????+estenzione La prossima volta, invece d'avviare il codice, premi "esegui istruzione", una riga alla volta premi F8 e dimmi in quale riga ti dà l'errore |
07-02-2021, 21:28 | #17 |
Senior Member
Iscritto dal: Feb 2006
Città: Conegliano
Messaggi: 2846
|
strFilename = .DataFields("PERCORSO").Value & .DataFields("FOTO").Value 'aggiunto il PERCORSO
sName = .DataFields("FOTO").Value 'aggiunta ammetto di non aver ben capito il significato delle due righe. In ogni caso se al posto di "percorso" e al posto di "foto", metto i corrispondenti del mio file, funziona e stampa e si vedono le immagini. Se invece cambio solo "foto" che mi pare di capire essere il nome del file e metto il riferimento di un'altra cella (non usata nella stampa unione di word), mi da errore e non stampa
__________________
Vendo: HD 2,5/3,5 - blocchi/mobo - ram pc133/ddr/ddr2/ddr3 - video agp-pci-e - mast. ide/sata - cpu 775 - cpu old - sodimm ddr/ddr2/ddr3 - cavi/adattatori e altro Sconsigliati: canguro87 - dominik68 (poi Stefano.Cava) - kinta - VirtualT. (perditempo) |
09-02-2021, 14:01 | #18 |
Senior Member
Iscritto dal: Feb 2008
Messaggi: 1448
|
Se non dici quale "nome" desideri dare, come faccio aiutarTi?
>>>Dimmi a quale "Campo Unione" Ti riferisci (l'hai inserito in Word?, è presente in Excel?) Excel: Ex in colonna E hai dei nomi con l'Intestazione=NOME In Word "inserisci campo unione" = Nome. Nel codice subito sotto objWdMailMerge.Execute sName = .DataFields("NOME").Value Salvi Word Avrai spostato l'esempio, mà non spieghi come vorresti "nominarlo", più di questo non sò cosa fare |
09-02-2021, 18:42 | #19 | |
Senior Member
Iscritto dal: Feb 2006
Città: Conegliano
Messaggi: 2846
|
Quote:
strFilename = .DataFields("PERCORSO").Value & .DataFields("PAPERINO").Value sName = .DataFields("PAPERINO").Value ma non va e mi da questo errore "chiamata di routine o argomento non validi", cambio semplicemente quella parola. Se riscrivo le due predefinite, va.
__________________
Vendo: HD 2,5/3,5 - blocchi/mobo - ram pc133/ddr/ddr2/ddr3 - video agp-pci-e - mast. ide/sata - cpu 775 - cpu old - sodimm ddr/ddr2/ddr3 - cavi/adattatori e altro Sconsigliati: canguro87 - dominik68 (poi Stefano.Cava) - kinta - VirtualT. (perditempo) |
|
09-02-2021, 21:01 | #20 |
Senior Member
Iscritto dal: Feb 2006
Città: Conegliano
Messaggi: 2846
|
ho creato un file con più campi che allego. Così va, se metto un altro campo no, ma è ovvio che sbaglio qualcosa, ma non capisco cosa.
http://www.filedropper.com/provelettere_1
__________________
Vendo: HD 2,5/3,5 - blocchi/mobo - ram pc133/ddr/ddr2/ddr3 - video agp-pci-e - mast. ide/sata - cpu 775 - cpu old - sodimm ddr/ddr2/ddr3 - cavi/adattatori e altro Sconsigliati: canguro87 - dominik68 (poi Stefano.Cava) - kinta - VirtualT. (perditempo) |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 06:04.