je Vous propose aujourd'hui le (Shape Exporter Commander)
Objectif de ce projet
Permettre à l’utilisateur d’exporter n’importe quelle shape ou image présente sur la feuille active dans l’un des trois formats :- JPEG
- PNG
- EMF
Ce menu est inséré dans l’onglet Insertion, juste avant le groupe Illustrations.
Structure du ruban
Menu principal :[ Exporter un object en image] intégré dans l'onglet "Insertion" juste avant le groupe "Illustrations"Sous-galleries dynamiques :
- galleryJPEG → export en .jpg
- galleryPNG → export en .png
- galleryEMF → export en .emf
- Affiche les miniatures des shapes via Capture()
- Utilise le nom de la shape comme label
- Encode l’ID avec Replace(" ", "µ") pour éviter les collisions XML
- Appelle une fonction d’export spécifique selon le format
Fonctions clés
Callbacks communs aux 3 galleries :
- gallery_getItemCount → nombre de shapes
- gallery_getItemLabel → nom de la shape
- gallery_getItemID → ID nettoyé
- gallery_getItemImage → miniature dynamique via Capture()
Callbacks spécifiques :
- Export_en_JPEG_Click → export via Capture()
- Export_en_PNG_Click → export via CopyPngPicture()
- Export_en_EMF_Click → export via copyObjToEmfFile()
Technologies utilisées
- creatorRibbonX ImageMso v6.9 pour la création visuelle du ruban
- API Windows pour la capture et la conversion d’images
- WIA (Windows Image Acquisition) pour la purification PNG
- IPictureDisp injecté directement dans le ruban sans fichier intermédiaire
Avantages
- Interface intuitive et visuelle
- Aucune ligne de XML à écrire
- Export rapide et propre dans plusieurs formats
- Miniatures en direct sans fichiers temporaires
- Compatible avec toutes les shapes, images et objets dessinés Excel
Contenu du projet
- Module : Fonctions_image.bas (Capture, Conversion, Purification)
- Fichier de personnalisation : customUI XML intégré (standalone Office 2007 à 2024)
- Module callbacks : pour les événements des boutons du ruban
même les objects non visible dans l e visible range sont lister et affichés dans les gallery
Patrick
- Auteur
- patricktoulon
- Version
- 1.0