Macro x PDF

bladina

Utente Junior
Professione: più lavoro meno ne sò
Software: SOLID EDGE ST8
Regione: marche PU
#42
mi inserisco con una aggiunta all'argomento: è possibile aggiungere un "invia per email" dopo aver salvato il file in pdf?
ciao grazie
 

vespa_83

Utente Standard
Professione: disegnatore
Software: Solid Edge
Regione: Romagna
#43
è possibile aggiungere un "invia per email" dopo aver salvato il file in pdf?
ciao grazie
considerando che non è detto che ogni volta che salvi in pdf avrai bisogno di inviare in una singola email,
considerando che ogni sistema operativo è configurato diversamente con client e-mail differenti, non mi sembra una buona idea.

piuttosto alcuni comandi interessanti potrebbero essere:
- Apri la cartella di salvataggio
- Apri il file con il programma predefinito

poi su Acrobat metti l'icona 'invia File'

Codice:
' comandi personalizzati da aggiungere subito dopo i comandi di salvataggio
fullfilepath = percorso + "\" + nome + "." + "pdf"
	
' Apri la cartella di salvataggio e seleziona il file
CreateObject("WScript.Shell").Exec("Explorer /select,""" + fullfilepath + """")

' Apri il file con il programma predefinito
CreateObject("WScript.Shell").Run("""" + fullfilepath + """")
codice testato, da me funziona.
 

sbronzo79

Utente Junior
Professione: disegnatore
Software: Solid EDGE ST9
Regione: Lombardia
#44
Buonasera a tutti,
ringrazio vespa per la macro utilissima.

Avrei un quesito:
ho utilizzato questa riga di programma:

Call objDoc.SaveAs(percorso + "\DOC" + nome + " - Material." + "pdf") ' salva con nome
Ma se la cartella DOC non esiste come faccio a fargliela creare?
ovviamente sarebbe utile che verifichi che ci sia la cartella e se non c'è la deve creare...
 

vespa_83

Utente Standard
Professione: disegnatore
Software: Solid Edge
Regione: Romagna
#45
la cartella non sarà "\DOC" bensì "\DOC".

Prendo per vero che SaveAs non funziona se la cartella non esiste.

In tal caso servirà un controllo (If..Then..Else) prima del SaveAs per verificare se la cartella esiste e se non esiste va creata.
per i file io uso questa funzione, dovrebbe funzionare anche per i percorsi:
Codice:
Function file_exist(filename)
    Dim fso
    Set fso = CreateObject("Scripting.FileSystemObject")
    file_exist = fso.FileExists(filename)
    Set fso = Nothing
End Function
Per creare il percorso prova ad integrare questa soluzione:
http://stackoverflow.com/questions/...n-windows-using-vbscript-both-the-folders-not

Ce la fai da solo? se riesci, dicci brevemente come hai fatto, grazie, ciao
 

sbronzo79

Utente Junior
Professione: disegnatore
Software: Solid EDGE ST9
Regione: Lombardia
#47
Ahime...

son riuscito a capire dove introdurre quella parte di codice, ma riesco solo a far creare la directory in C:\...
Poche conoscenze di linguaggio...
 

vespa_83

Utente Standard
Professione: disegnatore
Software: Solid Edge
Regione: Romagna
#48
beh, ti avevo anche suggerito male... la funzione file_exist() funziona per i file ma non per le cartelle, chiedo scusa.
googlando "vbscript check if folder exists or create it"
è facile trovare esempi che funzionano.

Premesso che io sono favorevole al fatto che i pdf siano nella stessa posizione del dft e non da un'altra parte, perchè complica le cose e la gestione, se proprio uno si vuol complicare la vita, allora ecco la nuova versione con la predisposizione alla modifica del percorso da riga 72:

Save+PDF v. 0.5
(script di base eventualmente da personalizzare secondo le proprie esigenze)

ps: E' gradito il contributo di una idonea icona da parte degli utilizzatori, per i successivi rilasci
 

Allegati

Davimont

Utente Standard
Professione: Disegnatore meccanico Fai da te.
Software: Solid Edge ST10
Regione: Lombardia
#50
In fondo alla macro in vbs cerca la riga 124 e dovresti leggere
If Not fso=... etc
prima di quella incolla

Set fso = CreateObject("Scripting.FileSystemObject")

Così funziona ma aspetta una conferma da vespa che ti saprà dire se c'è da fare qualche altra modifica.
 

vespa_83

Utente Standard
Professione: disegnatore
Software: Solid Edge
Regione: Romagna
#52
Save+PDF v. 0.5.1
bug fix; il percorso di salvataggio viene creato se non esiste.
(script di base eventualmente da personalizzare secondo le proprie esigenze)

ps: E' gradito il contributo di una idonea icona da parte degli utilizzatori, per i successivi rilasci.
 

Allegati

sbronzo79

Utente Junior
Professione: disegnatore
Software: Solid EDGE ST9
Regione: Lombardia
#53
Ciao Vespa,
Ho una implementazione per te che ne sai delle macro....
secondo te prima della fine della pubblicazione del file PDF, è possibile aggiungere un:
Apri il file messo in tavola (che sia ASM che sia PAR) fare il salvataggio in STP nella cartella che dico io, e poi chiudere il modello 3D e uscire dalla MACRO.
Che dici è fattibile?
 

vespa_83

Utente Standard
Professione: disegnatore
Software: Solid Edge
Regione: Romagna
#54
Dovrebbe essere abbastanza semplice. Va definito in modo univoco la logica di funzionamento.
Se il draft richiama più file 3D deve processarli tutti o solo il primo?
E' preferibile inserire la domanda 'Esportare i 3D in formato step?' oppure no?
Inoltre va tenuto in considerazione che le Opzioni di esportazione sono generalmente salvate e mantenute dall'ultima modifica. Vale per qualsiasi tipo di file, ad esempio se per il PDF esporto in bianco e nero ma per fare un lavoro imposto a mano "a colori" dopo esporto sempre a colori: questo che problemi mi crea con lo Step / Iges ? un pdf si apre per verifica in pochi secondi, uno step è già più complicato.
L'unico grosso problema potrebbe essere se ho aperto sia il Draft che il 3D e sono entrambi non salvati: in quel caso vanno studiate le giuste domande per eseguire prima il salvataggio del 3D poi esporto in step, chiudo(?) il 3D (senza salvare perché fatta al passaggio precedente così la data dello step è successiva al 3D originale) , quindi salvo il draft poi esporto in PDF
 

sbronzo79

Utente Junior
Professione: disegnatore
Software: Solid EDGE ST9
Regione: Lombardia
#55
Dovrebbe essere abbastanza semplice. Va definito in modo univoco la logica di funzionamento.
Se il draft richiama più file 3D deve processarli tutti o solo il primo?
E' preferibile inserire la domanda 'Esportare i 3D in formato step?' oppure no?
Inoltre va tenuto in considerazione che le Opzioni di esportazione sono generalmente salvate e mantenute dall'ultima modifica. Vale per qualsiasi tipo di file, ad esempio se per il PDF esporto in bianco e nero ma per fare un lavoro imposto a mano "a colori" dopo esporto sempre a colori: questo che problemi mi crea con lo Step / Iges ? un pdf si apre per verifica in pochi secondi, uno step è già più complicato.
L'unico grosso problema potrebbe essere se ho aperto sia il Draft che il 3D e sono entrambi non salvati: in quel caso vanno studiate le giuste domande per eseguire prima il salvataggio del 3D poi esporto in step, chiudo(?) il 3D (senza salvare perché fatta al passaggio precedente così la data dello step è successiva al 3D originale) , quindi salvo il draft poi esporto in PDF
- Se il draft richiama più file 3D deve processarli tutti o solo il primo?
Sarebbe ideale esportarli tutti
- Opzioni di esportazione
Vanno mantenute quelle dell'ultimo file esportato per tutti i file
- E' preferibile inserire la domanda 'Esportare i 3D in formato step?
Si sarebbe molto utile l'opzione.
- L'unico grosso problema potrebbe essere se ho aperto sia il Draft che il 3D e sono entrambi non salvati.
se sono aperti sia file DFT che modello 3D l'esportazione non dovrebbe funzionare.

Queste sarebbero le "mie" risposte alle tue domande...
Se mai avessi tempo di implementare...

Grazie mille per la risposta.
 

Be_on_edge

Moderatore
Staff Forum
Professione: Progettazione
Software: Solid Edge
Regione: Emilia Romagna
#56
Per le mi esigenze mi sono creato un piccolo programma di richiesta approvazione disegni.

Si selezionano i documenti che si vogliono esportare (il nome viene creato concatenando codice - revisione - versione) e creata una nuova email con i file zippati in allegato ed un testo predefinito nell'oggetto e nel corpo.


approvazione.png
 

vespa_83

Utente Standard
Professione: disegnatore
Software: Solid Edge
Regione: Romagna
#57
Per [MENTION=6865]sbronzo79[/MENTION] : mi spiace non ho molto tempo in questo periodo.

Per [MENTION=31]andri.can[/MENTION] :
Errori
Si sono verificati i seguenti errori durante la spedizione del messaggio.
andri.can ha scelto di non ricevere messaggi privati o potrebbe non essere abilitato a ricevere messaggi privati. Quindi non puoi inviargli il tuo messaggio.
Se vuoi salvare su percorso fisso su server:
installa notepad ++ che permette una formattazione a colori del semplice testo.
https://notepad-plus-plus.org/
Apri il file vbs su notepad++.
Leggi attentamente il file v.0.5.1.
In particolare dalla riga 74 (notepad++ mostra a sinistra il numero di riga)
1: immetti il percorso fisso server alla riga 75: percorso = ""
2: decommenta la riga 95 (comando SaveAs "dxf"), per decommentare togli l'apostrofo iniziale

Fai alcune prove salvando i tuoi dft, poi leggi le righe 104 e 113 (Comando Apri cartella, Comando Apri file), se non ti servono, commenta la riga mettendo all'inizio l'apostrofo, secondo me apri file pdf è molto comodo.

NB: se metti un percorso fisso, tutti i file verranno salvati in una unica cartella.
Si può fare di tutto basta che le regole siano semplici, le regole sono decide dalle persone quindi non possono essere semplici perchè di natura le persone sono complicate e poco ordinate, quindi bisogna semplificarsi la vita perchè essa è già complicata di suo. Se ci sono domande, prima chiarisci bene cosa vuoi ottenere, che sia semplice per tutti, poi se hai bisogno chiedi pure, ciao.
 

Be_on_edge

Moderatore
Staff Forum
Professione: Progettazione
Software: Solid Edge
Regione: Emilia Romagna
#58
Si può fare di tutto basta che le regole siano semplici, le regole sono decise dalle persone quindi non possono essere semplici perchè di natura le persone sono complicate e poco ordinate, quindi bisogna semplificarsi la vita perchè essa è già complicata di suo.
L'ufficio "complicazione cose semplici" purtroppo è presente in tutte le aziende :biggrin:
 

Emanuele001

Utente poco attivo
Professione: disegnatore
Software: Solid Edge ST9
Regione: marche
#59
Ciao Vespa,
ho scoperto oggi la tua macro ed è fantastica!! GRAZIE!!

Ti volevo chiedere se era possibile convertire (pdf, dxf) tutti i fogli presenti nel disegno dft.


Saluti
Emanuele
 

vespa_83

Utente Standard
Professione: disegnatore
Software: Solid Edge
Regione: Romagna
#60
La Macro lancia per te il comando "Salva con nome" e si comporta come dalle relative Opzioni.
Quindi esegui manualmente un Salva con Nome in <pdf poi in dxf> e prima di confermare con Salva clicca sul pulsante Opzioni: troverai le tue impostazioni usate l'ultima volta (foglio corrente, tutti i fogli, bianco-neno / colori, eccetera)