Condividi:        

Word Macro salvare in pdf con selezione copiata negli appunt

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

Word Macro salvare in pdf con selezione copiata negli appunt

Postdi fardi » 07/02/18 19:14

Ciao a tutti. Ho registrato la seguente macro che seleziona e copia tutto il testo di un doc. esistente; crea un nuovo documento e lo incolla; si posiziona in un punto preciso e copia la prima riga del documento... A questo punto vorrei salvare il file in pdf e che la riga appena copiata (il cui testo varia per contenuto e lunghezza, senza mai finire nella riga successiva) fosse il nome del pdf ottenuto. Il file word dovrebbe essere infine chiuso, senza salvare le modifiche. Qualcuno può aiutarmi ? Ve ne sarei davvero grato. Utilizzo office 2010 su windows 7 64 bit.


Macro4 Macro
'
'
Selection.WholeStory
Selection.Copy
Documents.Add DocumentType:=wdNewBlankDocument
Selection.PasteAndFormat (wdUseDestinationStylesRecovery)
Selection.MoveUp Unit:=wdScreen, Count:=16
Selection.EndKey Unit:=wdLine, Extend:=wdExtend
Selection.Copy
ActiveDocument.ExportAsFixedFormat OutputFileName:= _
"C:\Users\Desktop\esempio.pdf", _
ExportFormat:=wdExportFormatPDF, OpenAfterExport:=True, OptimizeFor:= _
wdExportOptimizeForPrint, Range:=wdExportAllDocument, From:=1, To:=1, _
Item:=wdExportDocumentContent, IncludeDocProps:=True, KeepIRM:=True, _
CreateBookmarks:=wdExportCreateNoBookmarks, DocStructureTags:=True, _
BitmapMissingFonts:=True, UseISO19005_1:=False
ActiveWindow.Close
ActiveWindow.Close
End Sub
fardi
Utente Junior
 
Post: 11
Iscritto il: 07/02/18 18:45

Sponsor
 

Re: Word Macro salvare in pdf con selezione copiata negli ap

Postdi Anthony47 » 08/02/18 01:04

Allora dovrebbe bastere eliminare la riga
Selection.Copy

e sostituire fino a ActiveWindow.Close con
Codice: Seleziona tutto
nomef = "C:\Users\Desktop\" & Selection.Text

ActiveDocument.ExportAsFixedFormat OutputFileName:=nomef, _
ExportFormat:=wdExportFormatPDF, OpenAfterExport:=True, OptimizeFor:= _
wdExportOptimizeForPrint, Range:=wdExportAllDocument, From:=1, To:=1, _
Item:=wdExportDocumentContent, IncludeDocProps:=True, KeepIRM:=True, _
CreateBookmarks:=wdExportCreateNoBookmarks, DocStructureTags:=True, _
BitmapMissingFonts:=True, UseISO19005_1:=False

ActiveWindow.Close False

La tua macro contiene un secondo ActiveWindow.Close, che non ho capito se deve rimanere o e' un refuso.

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

Re: Word Macro salvare in pdf con selezione copiata negli ap

Postdi fardi » 08/02/18 11:19

Purtroppo non va, compare l'errore di run-time "Nome di file non valido " 2147467259 (80004005)
nel debug viene evidenziato il codice seguente

Codice: Seleziona tutto
ActiveDocument.ExportAsFixedFormat OutputFileName:=nomef, _
ExportFormat:=wdExportFormatPDF, OpenAfterExport:=True, OptimizeFor:= _
wdExportOptimizeForPrint, Range:=wdExportAllDocument, From:=1, To:=1, _
Item:=wdExportDocumentContent, IncludeDocProps:=True, KeepIRM:=True, _
CreateBookmarks:=wdExportCreateNoBookmarks, DocStructureTags:=True, _
BitmapMissingFonts:=True, UseISO19005_1:=False



Ho comunque rimosso il secondo "ActiveWindow.Close", si probabilmente un refuso.
fardi
Utente Junior
 
Post: 11
Iscritto il: 07/02/18 18:45

Re: Word Macro salvare in pdf con selezione copiata negli ap

Postdi Anthony47 » 08/02/18 17:34

Ma l'istruzione
Codice: Seleziona tutto
nomef = "C:\Users\Desktop\" & Selection.Text
l'hai inserita?
Se Si allora devo concludere che la selezione corrente non contiene un nome file valido... Verifica il contenuto della "Selezione".

Per ragionare insieme servirebbe ad esempio uno screenshot fatto al momento dell'errore e che mostri il testo selezionato.
Per le istruzioni su come allegare una immagine:
viewtopic.php?f=26&t=103893&p=605488#p605488

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

Re: Word Macro salvare in pdf con selezione copiata negli ap

Postdi fardi » 09/02/18 17:41

Si ho incollato anche la linea di codice per "nomef".
Rispetto al testo selezionato nella macro per denominare il file pdf, come dicevo inizialmente è di lunghezza variabile; inoltre è testo collegato ad un excel; ho provato a verificare che quest'ultimo aspetto non fosse la causa del problema e quindi l ho sostituito con del testo normale...purtroppo senza frutto.
Come gentilmente indicavi, incollo i collegamenti agli screenshoot dell errore della macro e del testo evidenziato nel debug....Spero davvero possano aiutare....



Immagine

[url=https://postimages.org/]Immagine
fardi
Utente Junior
 
Post: 11
Iscritto il: 07/02/18 18:45

Re: Word Macro salvare in pdf con selezione copiata negli ap

Postdi Anthony47 » 09/02/18 19:58

Pero' io avevo chiesto di guardare "il testo selezionato" sul documento...
Facciamo cosi:
Subito dopo l'istruzione nomef = "C:\Users\Desktop\" & Selection.Text inserisci
Codice: Seleziona tutto
Debug.Print nomef

Poi quando va in errore e visualizzi il codice in giallo, premi Contr-g per aprire la "finestra Immediata"; copia quello che ci vedi scritto e incollalo nel tuo prossimo messaggio.

Inoltre....
Io sono partito dalla tua macro registrata, dando per scontato che essa fosse funzionante a meno delle richieste fatte.
PERO' secondo me la directory " C:\Users\Desktop\" non esiste. Ragionevolmente dovrebbe esserci il nome utente, tipo
C:\Users\NomeUtente\Desktop\

A meno che non usi un Windows piu' vecchio di XP secondo me e' questo l'errore; quindi verifica preliminarmente quale e' la directory da inserire nell'istruzione "nomef ="

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

Re: Word Macro salvare in pdf con selezione copiata negli ap

Postdi fardi » 10/02/18 15:42

Rispetto alla cartella "nome utente" l'avevo omessa involontariamente perchè avevo provato su due pc diversi con nome utente differente. Purtroppo anche acrivendola per bene nulla è cambiata. Ho seguito il resto delle tue indicazioni e incollo sotto la riga che compare con ctrl+g, corrisponde esattamente al testo, variabile, che dovrebbe coincidere col "nome file" e l'indirizzo coincide con quello del file sul pc, in particolare il testo visualizzato è:
C:\Users\Francesco\Desktop\24Documento5del2018prova pro

Ancora grazie per il supporto
fardi
Utente Junior
 
Post: 11
Iscritto il: 07/02/18 18:45

Re: Word Macro salvare in pdf con selezione copiata negli ap

Postdi Anthony47 » 10/02/18 18:12

La cosa allora andrebbe debuggata sul tuo pc per individuare i motivi dell'errore.
Intanto vedo che la tua macro apre il pdf dopo averlo creato; non escludo che quando vai a salvare il pdf, un precedente pdf con le stesso nome risulti aperto all'interno del pdf reader, impedendo in questo modo l'accesso al file per la sua sostituzione.
Ti consiglio pertanto di modificare il parametro OpenAfterExport da True a False:
Codice: Seleziona tutto
...., OpenAfterExport:=False, OptimizeFor:= _


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

Re: Word Macro salvare in pdf con selezione copiata negli ap

Postdi fardi » 10/02/18 20:49

..parametro OpenAfterExport modificato ma senza successo.
Credo che i tuoi consigli abbiano prodotto un codice di per se funzionante... Per approfondire ho ripetuto la medesima macro chiedendo di salvare il file creato in word anzicchè in pdf. Da ctrl+g su "nomef" capisco che indirizzo del file da creare e sua denominazione (da "selection.test) sono rimaste corrette. L'errore di run-time che compare in questo caso è il seguente "5487": impossibile completare il salvataggio del file a causa di un errore di autorizzazione del file." di seguito riporta poi correttamente la denominazione che avrebbe dovuto avere il file se tutto fosse andato liscio...
C'è altro che potrei fare per essere di aiuto?
fardi
Utente Junior
 
Post: 11
Iscritto il: 07/02/18 18:45

Re: Word Macro salvare in pdf con selezione copiata negli ap

Postdi Anthony47 » 11/02/18 01:01

Ma il file risulta per caso salvato nonostante il messaggio di errore?

Prova a modificare la riga
nomef = "C:\Users\Desktop\" & Selection.Text
in
Codice: Seleziona tutto
nomef = "C:\Users\Desktop\" & Selection.Text & ".pdf"


Se non funziona, prova a ripristinare la tua macro (col nome file fisso)
Cioe':
Codice: Seleziona tutto
ActiveDocument.ExportAsFixedFormat OutputFileName:= _
"C:\Users\Desktop\esempio.pdf", _
ExportFormat:=wdExportFormatPDF, OpenAfterExport:=True, OptimizeFor:= _
wdExportOptimizeForPrint, Range:=wdExportAllDocument, From:=1, To:=1, _
Item:=wdExportDocumentContent, IncludeDocProps:=True, KeepIRM:=True, _
CreateBookmarks:=wdExportCreateNoBookmarks, DocStructureTags:=True, _
BitmapMissingFonts:=True, UseISO19005_1:=False

Pero':
1) Prima inseriscici
Codice: Seleziona tutto
nomef = "C:\Users\Desktop\" & Selection.Text
Debug.Print nomef


2) modifica OpenAfterExport:=False

3) subito dopo l'istruzione ripristinata inserisci
Codice: Seleziona tutto
Stop


Esegui la macro; se funzionava prima funzionera' anche ora, quindi ti creera' il file "esempio.pdf" sul desktop. Selezionalo e prova a rinominarlo col nome che leggi nella "finestra Immediata".

Se riesci a rinominarlo, riprova pero' invece di usare esempio.pdf usa il nome che hai letto nella finestra Immediata, con ".pdf"

Tieni conto disciplinatamente dell'esito delle varie prove e fai sapere l'esito.
Avatar utente
Anthony47
Moderatore
 
Post: 19181
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Word Macro salvare in pdf con selezione copiata negli ap

Postdi fardi » 11/02/18 22:59

dunque vado per ordine...
quando la macro non va il file non risulta mai salvato,
anche integrando nell'espressione di nomef l istruzione & .pdf non cambia nulla.
Ho ripristinato come mi consigliavim, con grandissima pazienza tua, la macro originale che continua a funzionare (quella con nome fisso)...ed ho poi inserito le tre istruzioni.
Ho letto il nome che compariva nella finestra immediata, era completo di indirizzo quindi"C:\Users\Fra\Desktop\prova prova"".... rinominando con questo il file "esempio.pdf" già su desktop mi avvisava che nel nome avrebbe eliminato i caratteri non ammessi ("\"). Ho ripetuto quest'ultima operazione denominando il file "esempio.pdf" con la sola parte del nome ovvero "provaprova". Il cambio di denominazione andava a buon fine.
Ho riportato entrambe le operazioni appena descritte all'interno della macro:
nel primo caso, aggiungendo l'intero indirizzo del file a quello già nella macro la macro dava errore.
Nel secondo caso sostituendo solo la parte del nome, "provaprova.pdf" la macro continua a concludersi positivamente come era stato per il file "esempio.pdf".
Spero tanto di aver descritto al meglio...è il minimo che possa fare...
fardi
Utente Junior
 
Post: 11
Iscritto il: 07/02/18 18:45

Re: Word Macro salvare in pdf con selezione copiata negli ap

Postdi Anthony47 » 11/02/18 23:09

Mi dici che versione di Sistema Operativo hai e che versione di Office, par favore.

Prova a salvare il file non sul desktop, ma in una cartella visibile sul desktop, tipo
Codice: Seleziona tutto
nomef = "C:\Users\Desktop\CartellaFile\" & Selection.Text

Ovviamente "CartellaFile" deve gia' esistere.

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

Re: Word Macro salvare in pdf con selezione copiata negli ap

Postdi fardi » 12/02/18 00:09

niente creando la cartella sul desk..
Ms office 2010 e windows 7 home premium service pack 1 :(
Ciao!
fardi
Utente Junior
 
Post: 11
Iscritto il: 07/02/18 18:45

Re: Word Macro salvare in pdf con selezione copiata negli ap

Postdi Anthony47 » 13/02/18 00:39

Penultima prova...
Invece di nomef = "C:\Users\Desktop\" & Selection.Text inserisci questo blocco:

Codice: Seleziona tutto
With CreateObject("VBScript.RegExp")
    .Pattern = "[^\w\.@-]"
    .Global = True
    nomef = " C:\Users\Desktop\" & .Replace(Selection.Text, "")
    Debug.Print len(Selection.Text), len(.Replace(Selection.Text, "") )
End With


Questa eliminera' da Selection.Text caratteri che non si vedono ma potrebbero fare male.

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

Re: Word macro salvare in pdf con selez RISOLTO

Postdi fardi » 13/02/18 17:17

Caro Anhony.. funziona !! complimenti

Sarei curioso dell'ultimo tentativo che avevi in mente giusto perchè, da neofita di questo dipo di automazioni, cominciava ad appassionarmi la olgica di fondo...
Soprattutto GRAZIE davvero per i consigli, l'impegno e tutto il supporto che hai saputo fornirmi.
fardi
Utente Junior
 
Post: 11
Iscritto il: 07/02/18 18:45

Re: Word Macro salvare in pdf con selezione copiata negli ap

Postdi Anthony47 » 14/02/18 01:15

Anthony ha scritto: Penultima prova...

fardi ha scritto: funziona !! complimenti
Sarei curioso dell'ultimo tentativo che avevi in mente

Ah ha, in genere io mi fermo alla penultima prova... L'ultima? Format C:

Alla prossima!
Avatar utente
Anthony47
Moderatore
 
Post: 19181
Iscritto il: 21/03/06 16:03
Località: Ivrea


Torna a Applicazioni Office Windows


Topic correlati a "Word Macro salvare in pdf con selezione copiata negli appunt":


Chi c’è in linea

Visitano il forum: Nessuno e 44 ospiti