Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

Excel2007/2013 ricerca file e stampa

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

Excel2007/2013 ricerca file e stampa

Postdi deniel69 » 06/05/15 19:48

Buona serata a tutti.

Dal titolo non è comprensibile, ma i miei quesiti sono i seguenti.....

Attualmente con una macro cerco 2 file in due directory diverse li apro e stampo.
Uno è un PDF ed uno è un file excel.xlsx e li cerco tramite il nome completo.

Esempio: ST-R0648-15_924788

Dove "R0648" è un dato univoco e invece "ST-" e "_924788", no.

Ora è possibile ricercare nelle directory il file che mi interessa utilizzando solo il dato univoco?

E poi, sono obbligato ad aprire i file prima di stamparli?
Oppure posso mandarli direttamente in stampa?

Soprattutto il file PDF, perchè il file excel lo apro e lo stampo senza problemi e subito dopo chiudo il file
ma con il pdf riesco ad aprirlo e stamparlo ma mi rimane l'applicazione (adobe acrobat) aperta.
Come faccio a chiuderla oppure a non aprirla proprio?

Allego codice che come sempre, a voi più esperti di me risulterà grezzo e migliorabile....... ma funzionante per ciò a cui mi serve...

Codice: Seleziona tutto
'======================================

Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" _
(ByVal hwnd As Long, _
ByVal lpOperation As String, _
ByVal lpFile As String, _
ByVal lpParameters As String, _
ByVal lpDirectory As String, _
ByVal nShowCmd As Long) As Long

'=======================================




Private Sub ST_and_Collaudo_Click()
'
    Application.ScreenUpdating = False
    Application.DisplayAlerts = False
   
Dim n As String
Dim nameST As String
Dim nameColl As String
Dim cat As String

Dim pdf As Long
Dim sPathST As String
Dim sPathColl As String

Sheets("E-Mail").Range("L17").Value = _
      Me.txtB.Text 'commessa
Sheets("E-Mail").Range("categorico").Value = _
      Me.ComboBoxCategorico.Text
     
n = [commessa].Value
cat = [categorico].Value
nameST = "ST-" & n
nameColl = "coll_" & n & "_" & cat

sPathST = "Y:\Excel and Job\Prova\"
sPathColl = "Y:\Excel and Job\Prova\"

If Dir(sPathST & nameST & ".xlsx") <> "" Then

      Workbooks.Open Filename:=sPathST & nameST & ".xlsx", ReadOnly:=False
      Sheets("Foglio1").Select
      ExecuteExcel4Macro "PRINT(1,,,1,,,,,,,,2,,,TRUE,,FALSE)"
      ActiveWindow.Close
Else
    MsgBox ("La scheda tecnica " & nameST & " non è presente nella cartella")
End If
   
If Dir(sPathColl & nameColl & ".pdf") <> "" Then
       
      pdf = ShellExecute(0, "Print", sPathColl & nameColl & ".pdf", "", "", 1)
Else
    MsgBox ("La scheda COLLAUDO " & nameColl & " non è presente nella cartella")
End If


End Sub


Grazie in anticipo a tutti !!! :mmmh:
Avatar utente
deniel69
Utente Senior
 
Post: 113
Iscritto il: 17/04/12 22:43

Sponsor
 

Re: Excel2007/2013 ricerca file e stampa

Postdi deniel69 » 09/05/15 17:20

Hello ... o l'argomento non interessa a nessuno o nessuno mi vuole rispondere.... comunque grazie lo stesso...
Avatar utente
deniel69
Utente Senior
 
Post: 113
Iscritto il: 17/04/12 22:43

Re: Excel2007/2013 ricerca file e stampa

Postdi Anthony47 » 11/05/15 01:10

o l'argomento non interessa a nessuno o nessuno mi vuole rispondere
Hai scartato l' ipotesi piu' comune: "nessuno e' in grado di rispondere".
Ma in questo caso direi che uno dei motivi e' la mancata esposizione del problema, per la cui comprensione probabilmente hai rimandato al codice della macro.

Quanto al fatto che AcroReader rimanga aperto potresti vederlo come un vantaggio (la prossima stampa richiedera' meno tempo); come pure non e' detto che tu debba aprire il programma per la tua stampa, ad esempio potresti trovarti a usare una sessione di AcroReader aperta dall' utente per altri scopi.
Insomma la situazione e' piu' articolata e probabilmente il gioco (cioe' il rischio di chiudere un task non tuo) non vale la candela...
Comunque il processo lo puoi chiudere, dopo tutti i controlli del caso, col comando vba
Codice: Seleziona tutto
Shell "taskkill /f /im AcroRd32.exe", vbHide     '<<< Controlla nome esatto del tuo processo


Oppure usi un programma alternativo ad AcroReader; cercando con le chiavi
Codice: Seleziona tutto
print pdf without acrobat reader
oppure
Codice: Seleziona tutto
stampare documento pdf senza usare acrobat

potrai trovare qualche idea; ad esempio usando la command line di Ghostscript (processo gswin32c.exe), ma devi provarlo.

Ciao
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 13904
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Excel2007/2013 ricerca file e stampa

Postdi deniel69 » 11/05/15 17:49

Grazie Anthony.... in effetti si, avevo lasciato parte del problema alla comprensione del codice.....

Per quanto riguarda la chiusura del programma per la gestione dei PDF, che sia Acrobat o altro, ho risolto (con un aiuto) con quanto segue.

Codice: Seleziona tutto
Application.SendKeys "^{Q}", False


Ho provato anche ad inserire un temporizzatore dopo la stampa e poi richiamare la sub di chiusura.
Codice: Seleziona tutto
 Application.OnTime Now + TimeValue("00:00:10"), "CloseIt"
End Sub

'--------->>
Public Sub CloseIt()
     Application.SendKeys "^{Q}", False
End Sub
'<<=========


Entrambe le soluzioni funzionano.

lanciando una sola stampa Acrobat (o altro) viene aperto e poi rimane aperto, invece facendo più stampe PDF la prima sessione di Acrobat rimane aperta, mentre le successive vengono aperte e poi chiuse ed alla fine del lavoro si ha una sola finestra di Acrobat da chiudere, quindi comunque va bene.

In quanto ad usare il
Codice: Seleziona tutto
Shell "taskkill /f /im AcroRd32.exe", vbHide


La chiusura sarebbe legata all'applicativo, in questo caso AcroRd32.exe.

Comunque ottimo istruzione in più assimilata e che potrebbe tornarmi utile in altri casi..............

Ora non mi rimane che risolvere il problema della ricerca del file con solo il nome univoco, indipendentemente da ciò che ci sia prima o dopo........


Intanto Grazie Mille...........
Avatar utente
deniel69
Utente Senior
 
Post: 113
Iscritto il: 17/04/12 22:43


Torna a Applicazioni Office Windows


Topic correlati a "Excel2007/2013 ricerca file e stampa":


Chi c’è in linea

Visitano il forum: Nessuno e 14 ospiti