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 !!!