XL 2021 VBA - Enregistrer en fichier un Embbeded PDF créé en présence d'Adobe Acrobat sur le PC

  • Initiateur de la discussion Initiateur de la discussion Dudu2
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Dudu2

XLDnaute Barbatruc
Bonjour,

Je n'utilise généralement pas Adobe Acrobat pour visualiser les PDF, lui préférant PDF-XChange Viewer plus léger et moins invasif.
Cependant l'ayant installé, il créé de nombreux problèmes avec les PDF intégrés (embbeded).

Ce logiciel intrusif modifie les propriétés du PDF embbeded et rend impossible l'ouverture par un autre logiciel qu'Acrobat alors que sous PDF-XChange Viewer, le PDF embbeded peut être ouvert par n'importe quel PDF Viewer.
De plus il faut désactiver le "Mode protégé au démarrage" (Acrobat / Menu / Préférence / Protection (renforcée) / Décocher "Activer le mode protégé au démarrage") pour visualiser les PDF embbeded.

Si j'arrive sans problème à enregistrer en fichier un PDF qui a été intégré (embbeded) en l'absence d'Adobe Acrobat sur le PC (seulement PDF-XChange Viewer), je n'y arrive pas lorsque le PDF a été intégré (embbeded) en présence d'Adobe Acrobat sur le PC.

La question: comment enregistrer en fichier un PDF qui a été intégré (embbeded) en présence d'Adobe Acrobat sur le PC ? (Voir le fichier joint).
Ou alors comment modifier les propriétés du PDF embbeded pour qu'il soit ouvrable par n'importe quel PDF Viewer ?

Justification: en enregistrant en fichier le PDF intégré en présence d'Acrobat, on pourrait alors le lancer quelque soit le PDF Viewer installé.
 

Pièces jointes

Dernière édition:
Solution
pas besoin de renommer il faut en fait explorer le fichier qui est ouvert pour extraire les .bin qui correspondent aux PDF intégrés . Ces .bin ils contiennent les PDF mais il faut "décapsuler" les PDF des .bin qui sont en OLE.
Pour la deuxième question c'est bizarre j'ai mis ton message intégral.
Je viens d'essayer de "décapsuler" les 2 .bin qui sont dans ton classeur avec Notepad++. Ben apparemment il suffit de chercher la chaine %PDF et de supprimer tout ce qu'il y a avant. En donnant des extensions .pdf alors à ces fichiers , j'arrive à les lire sans problème avec un lecteur PDF.
Voici du code VBA généré par I.A (j'ai seulement suggéré à l'I.A d'utiliser le tar windows et de supprimer ce qu'il y a avant %PDF ) qui :
1 -...
Bonjour @nullosse,
Oui j'avais aussi envisagé cette piste mais elle implique de faire la manip zip + bin même si le PDF intégré ne l'a pas été sous Acrobat auquel cas, dans ma macro, je laisse l'ouverture se faire directement avec un Shape.OLEFormat.Verb xlPrimary.
Alors qu'avec les CommandBar.Controls on le sait immédiatement sans maniper sur le fichier.
 
Dernière édition:
Bonsoir

shell explorer sélectionne un fichier dans une fenêtre explorer sans ouvrir explorer graphiquement juste l'exe
en gros il simule un message windows qui se produit quand on sélectionne un fichier dans explorer


shell.application (le com) pour vb , ouvre le fichier, "open" est une fonction et membre a part entière de l'object shell.application
le com étant une passerelle bien entendu les temps d’exécution sont différents il est un piol plus long
il utilise l'instance d'explorer existante "ouverte au démarrage de window")
shell application, sauf restriction très sévères va passer outre (la plus part du temps )


des effets indirectes à priori non

par contre shell explorer risque de ne pas fonctionner selon les droits de l’utilisateur
c'est un peu le piège de cette commande que l'on a un peu tendance a utiliser trop souvent par facilité
voici l'explication de chatGpt

🔸 Shell "explorer ..." ne simule pas un clic, il lance réellement explorer.exe avec les arguments donnés (comme si tu tapais la commande dans cmd).
Il ouvre donc un dossier ou sélectionne un fichier, mais dans une nouvelle instance d’Explorer.


🔸 Shell.Application.Open appartient à l’objet COM Shell.Application.
Il demande à l’instance Explorer déjà ouverte d’afficher un dossier, sans relancer de processus.
bon on est pas loin de ce que je dis quoi
 
Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Retour