Bonjour,

Je sèche, du coup je viens vous demander un coup de main.

Pour vous expliquer très rapidement mon contexte, je reçois des pdf dans lesquels il y a des fichiers attachés.

J'ai trouvé un exécutable qui fonctionne très bien que vous pouvez trouver ici : pdfdetach.exe

Alors depuis le début j'utilise un fichier .bat pour lancer à la main la commande suivante :

fichier pdfdetach.bat
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
@ECHO OFF
"C:\MyFolder\myTools\pdfdetach.exe" -saveall monfichier.pdf
Lorsque je lance le bat il fonctionne très bien. Je tiens à signaler que le pdf contenant les fichiers attachés et le fichier bat sont dans le même répertoire de travail.


J'ai essayé de lancer ce fichier .bat depuis VBA à l'aide de ce code :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
FunctionSubmitBatch()
Dim Command As String
 
Command = "C:\MyFolder\myTools\pdfdetach.bat"
Shell Command, vbNormalFocus
End Function
Mais je n'ai rien en retour, les fichiers ne se détachent pas

Du coup j'ai voulu lancer la command batch directement dans un terminal Shell via VBA à l'aide de ce code :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
 
FunctionSubmitBatch()
Dim Path As String
Dim Command As String
Dim Opt As String
Dim exe As String
Dim FileName As String
 
Path = "C:\MyFolder\Exo\detach\"
exe  = "pdfdetach.exe"
Opt = "-saveall"
FileName = Path & "monfichier.pdf"
 
Command = Path & exe & " " & Opt & " " & FileName
Shell Command, vbNormalFocus
End Function
Ce code ne change rien à première vue car aucun fichier n'est extrait du pdf.

Je suis sous Windows 10 et j'utilise Excel 2013

Merci d'avance pour votre aide.