Icône de la ressource

VBA - Créer un Fichier Image d'un Objet quelconque (Picture, Shape, Range, UserForm, Fenêtre, ...) V1

Le fichier à télécharger contient:
  1. Le Module_PastePicture à importer dans le projet VBA.
  2. Le Module_WIA_ConvertImage à importer dans le projet VBA si besoin de convertir.
  3. Le Module_Test qui donne des exemples d'utilisation.
Note: Voir toutes mes ressources -> https://excel-downloads.com/resources/?creator_id=268468

Principe:
  1. Copier l'Object pour placer son image dans le Clipboard via:
    - [<Alt>] Impr/écran (UserForm, Fenêtre active, tout l'écran).
    - Copier Excel (Menu contextuel/Copier ou <Ctrl>c).
    - En VBA: Object.Copy ou Object.CopyPicture ou émulation des touches [<Alt>] PrintScreen ou <Ctrl>c.

  2. Créer un fichier image Bitmap (.bmp) ou Enhanced Métafile Format (.emf) à partir du contenu du Clipboard avec la fonction fournie.

  3. Convertir le fichier image Bitmap (.bmp) obtenu en .gif / .jpg / .png / .tiff si besoin avec la fonction fournie.
Les principales caractéristiques:

Le Module_PastePicture contient:​
  • La fonction PastePicture() qui, à partir d'une image Bitmap ou Enhanced Metafile Format contenue dans le Clipboard, permet de générer:
    - Un OLE Object IPicture.
    - Un fichier Image .bmp ou .emf.

  • Le format de l'image contenue dans le Clipboard dépend de la méthode utilisée pour la copier:
    - Copier une fenêtre via le bouton [<Alt>] Impr/écran (ou émulation VBA):
    ---> Format Bitmap.
    - Copier un Object via le Menu contextuel/Copier ou <Ctrl>c (ou émulation VBA):
    ---> Formats Bitmap et Enhanced Metafile Format.
    - VBA Object.Copy:
    ---> Formats Bitmap et Enhanced Metafile Format.
    - VBA Object.CopyPicture:
    ---> Format Enhanced Metafile Format.

  • Tout Object "copiable" peut être utilisé, principalement les Pictures, Shapes et Ranges.
Le Module_WIA_ConvertImage contient:​
  • La fonction WIA_ConvertImage() de Daniel Pineault qui permet de convertir tous les formats entre eux:
    - bmp
    - gif
    - jpg / jpeg
    - png
    - tiff

  • Cette fonction pourra être utilisée si besoin pour convertir les images Bitmap générées par la fonction PastePicture().

PasteImage.gif



PasteImage2.gif
Retour