Cerrar un archivo PDF
Resuelto
Usuario anónimo
-
Usuario anónimo -
Usuario anónimo -
Hola,
Tengo un problema para cerrar un PDF, he encontrado ejemplos en la red pero ninguno de los ejemplos que he encontrado funciona en mi equipo... en pocas palabras lo que quiero hacer es cerrar un archivo PDF porque voy a crear uno encima de este PDF que tiene el mismo nombre, por lo que no puedo crear si ese PDF ya está abierto.
Aquí está la función que tengo por ahora:
He probado kill pero eso tampoco funciona...
Si alguien tuviera una solución sería genial, gracias de antemano.
Configuración: Windows 7 / Firefox 35.0
Tengo un problema para cerrar un PDF, he encontrado ejemplos en la red pero ninguno de los ejemplos que he encontrado funciona en mi equipo... en pocas palabras lo que quiero hacer es cerrar un archivo PDF porque voy a crear uno encima de este PDF que tiene el mismo nombre, por lo que no puedo crear si ese PDF ya está abierto.
Aquí está la función que tengo por ahora:
Sub Tst_2007(Nom)
Set fso = CreateObject("Scripting.FileSystemObject")
If (fso.FileExists("C:\Users\Documents\TestNode2\code2\" & Nom & ".pdf")) Then
Kill ("C:\Users\Documents\TestNode2\code2\" & Nom & ".pdf")
'Set objFSO = CreateObject("Scripting.FileSystemObject")
'objFSO.DeleteFile ("C:\Users\Documents\TestNode2\code2\" & Nom & ".pdf")
'Call Fermer_Un_Programme("AcroRd32.exe")
'AppActivate MonApp, True
'SendKeys ("%{F4}") 'envoi altF4"
End If
Dim sNomFichierPDF As String
sNomFichierPDF = ThisWorkbook.Path & "\" & Nom
Application.ScreenUpdating = False
Sheets.Select
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=sNomFichierPDF _
, Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _
:=False, OpenAfterPublish:=False
End Sub
He probado kill pero eso tampoco funciona...
Si alguien tuviera una solución sería genial, gracias de antemano.
Configuración: Windows 7 / Firefox 35.0
3 respuestas
-
Hola,
Mi contribución, utilizando la api user32 :
Private Declare Function FindWindow Lib "user32" _ Alias "FindWindowA" _ (ByVal lpClassName As String, _ ByVal lpWindowName As String) As Long Private Declare Function PostMessage Lib "user32" _ Alias "PostMessageA" _ (ByVal hwnd As Long, _ ByVal wMsg As Long, _ ByVal wParam As Long, _ ByVal lParam As Long) As Long Declare Function GetWindowText Lib "user32" _ Alias "GetWindowTextA" _ (ByVal hwnd As Long, _ ByVal lpString As String, _ ByVal cch As Long) As Long Declare Function GetWindow Lib "user32" _ (ByVal hwnd As Long, _ ByVal wCmd As Long) As Long Sub Boucle_Sur_Fenetres() Dim pointeur As Long Dim titre As String pointeur = FindWindow(vbNullString, "") Do While pointeur <> 0 titre = String(100, Chr$(0)) GetWindowText pointeur, titre, 100 titre = Left$(titre, InStr(titre, Chr$(0)) - 1) If titre Like "*" & Nom & ".pdf" & "*" Then FermerFenetre pointeur: Exit Sub pointeur = GetWindow(pointeur, 2) Loop End Sub Sub FermerFenetre(handWindow As Long) PostMessage handWindow, 16, 0, 0 End Sub
--
???? Cordialement,
Franck ????