Le fichier à télécharger contient:
Principe:
Versions:
- Le Module_PastePicture à importer dans le projet VBA.
- Le Module_CopyWindowImageToClipBoa à importer dans le projet VBA si besoin de copier une fenêtre ou un UserForm.
- Le Module_WIA_ConvertImage à importer dans le projet VBA si besoin de convertir.
- Le Module_Test qui donne des exemples d'utilisation.
Principe:
- 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 fonctions CopyUserFormImageToClipboard() ou CopyWindowImageToClipboard() ou émulation des touches [<Alt>] PrintScreen ou <Ctrl>c.
- Créer un fichier image Bitmap (.bmp) ou Enhanced Métafile Format (.emf) à partir du contenu du Clipboard avec la fonction PastePicture().
- Convertir le fichier image Bitmap (.bmp) obtenu en .gif / .jpg / .png / .tiff si besoin avec la fonction WIA_ConvertImage().
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.
- VBA fonctions CopyUserFormImageToClipboard() ou CopyWindowImageToClipboard():
---> Format Bitmap
- 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().
Le Module_CopyWindowImageToClipBoa contient:
- La fonction CopyUserFormImageToClipboard() qui permet de copier l'image d'un UserForm dans le Clipboard.
- La fonction CopyWindowImageToClipboard() qui permet de copier l'image d'une fenêtre dans le Clipboard.
- V1 - Initiale
- V2 - Remplace <Alt> PrintScreen par la fonction CopyUserFormImageToClipboard().