Excel Downloads
Forum

Précédent   Excel Downloads Forums > Excel > Questions les plus fréquentes (FAQ) et didacticiels > [REF] Wiki Page 11 de MichelXld
Vous inscrire
S'inscrire FAQ Membres Calendrier Recherche Messages du jour Marquer les forums comme lus


Réponse
 
LinkBack Outils de la discussion
Vieux 08/03/2008, 22h27   #1 (permalink)
MichelXld
XLDnaute Barbatruc
 
Date d'inscription: février 2005
Messages: 3 619
Post [REF] Wiki Page 11 de MichelXld

Les sujets abordés dans cette page :
  • Utiliser la librairie Windows Image Acquisition Automation Library v2.0 depuis Excel.
Lien vers la wiki page 1 :Les feuilles , Les graphiques , Les images , Les propriétés des classeurs , Les sauvegardes , Les formes automatiques , Aleatoire , Les barres d'outils et les barres de menus , Les boites de dialogues intégrées , Les classeurs .
Lien vers la wiki page 2 : Les userforms : Les Checkbox , Les Labels , Les combobox , Les Commandbutton , Les Listbox ,Les Multipages , Les Frames , Les Textbox , Les imagesList , Les Treeview , Les Listview , Les Images , Les Webbrowser , Les calendriers , Les progressbar , Les Spreadsheet , Les Chartspaces , Les commonDialog , Les MSFlexGrid.
Lien vers la wiki page 3 :Piloter d'autres applications depuis Excel , Piloter ( Word , Outlook , Power Point ) , Les fichiers texte
Lien vers la wiki page 4 : Les fonctions mathématiques et trigonométriques , Les impressions , Les temporisations , Les fonctions , Les evenements , Excel , Les cellules , Copier & Coller , Les dates et les calendriers , Les spécificités Macintosh, Générer des fichiers Flash , Open Office
Lien vers la wiki page 5 : Les formules Excel , Les audits de formules , Les répertoires et les fichiers .
Lien vers la wiki page 6 : Les doublons , Les tris et les filtres , Les variables , Piloter les fichiers fermés (Excel , Access ,les fichiers DBF) .
Lien vers la wiki page 7 : Les commentaires , La gestion des erreurs , L'aide en ligne Excel , Les recherches dans un classeur, Les tableaux , Les pages html et internet , Windows Media Player , Le PC et le systême d'exploitation ,Piloter Flash , les types de boucles.
Lien vers la wiki page 8 : Piloter MSN Messenger et Windows Messenger , Les objets dans le feuille , Les liens hypertextes , Les formats , Visual basic editor , Les chaines de caractères , Les modules de classe.
Lien vers la wiki page 9 : Les mises en forme conditionnelles , Les Tableaux et graphiques Croisés Dynamiques , Gérer les fichiers XML depuis Excel , Piloter Open Office depuis Excel.
Lien vers la wiki page 10 : Le Publipostage Word / Excel.
Lien vers la wiki page 11 : Utiliser la librairie Windows Image Acquisition Automation Library v2.0 depuis Excel.

Utiliser la librairie Windows Image Acquisition Automation Library v2.0 depuis Excel
WIA est un composant très complet qui permet de manipuler les images.
Les informations et exemples suivants sont en partie issus des samples VB6 fournis lors du téléchargement de la librairie WIA (wiaaut.dll) et que j'ai essayé d'adapter pour une utilisation depuis Excel
Les propriétés générales du WIA :
Accéder aux propriétés d’un fichier image.
Lire et écrire les fichiers image et leurs propriétés dans une base de données.
Manipuler les images : Rotation, Retournement, Décomposition des frames d'une image(par exemple d'un GIF animé) …
Modifier les pixels incluant les valeurs alpha.
Gérer les Images prises par une webCam.
Visualiser les images des webCam connectées à votre PC.
La Bibliothèque WIA est principalement conçue pour gérer les formats d'image PNG, BMP, JPG, GIF et TIFF .
Les autres formats sont à tester en fonction de votre système d'exploitation.
Téléchargez la librairie si elle n'est pas installée sur votre poste :
http://www.microsoft.com/downloads/details.aspx?FamilyID=a332a77a-01b8-4de6-91c2-b7ea32537e29&DisplayLang=en
Puis suivez les conseils d'installation fournis dans le fichier d'aide readMe.txt
Configuration minimale : Windows XP
  • Vérifier si un fichier GIF est de type animé ou standard
    Sub controleFormatImageGIF()
    Dim objImage As Object
    Set objImage = createObject("WIA.imageFile")
    objImage.loadFile ("C:\fichierImage.gif")
    If objImage.isAnimated Then
    msgBox "Gif animé"
    Else
    msgBox "Gif standard"
    End If
    End Sub
  • Comment utiliser les filtres
    Le lien sur le site Microsoft
    En complément, voici une macro qui permet d'afficher une description générale de tous les filtres utilisés dans WIA
    Sub listerInformationsGeneralesFiltres()
    Dim x As Integer
    Dim IP As imageProcess
    Set IP = createObject("WIA.imageProcess")
    For x = 1 To IP.filterInfos.Count
    Debug.Print "--> " & IP.filterInfos(x).Name & ":"
    Debug.Print IP.filterInfos(x).Description
    Debug.Print vbCrLf & "******************" & vbCrLf & vbCrLf
    Next x
    End Sub
  • Combiner deux images en une .
    La 2eme image(de plus petite dimension) va s'incruster dans la premiere
    Visualiser la macro
  • Fusionner Deux images verticalement .
    Cet exemple permet de créer une nouvelle image à partir de 2 images existantes : Les 2 images sont jointes bout à bout verticalement
    Visualiser la macro
  • Afficher les dimensions et la résolution d'une image
    Sub dimensionsImage_V02()
    Dim Img As Object
    Set Img = createObject("WIA.imageFile")
    Img.loadFile ("C:\Documents and Settings\michel\dossier\fourmiz.jpg")
    msgBox "Largeur = " & Img.Width & vbCrLf & _
    "Hauteur = " & Img.Height & vbCrLf & _
    "Resolution horizontale = " & Img.horizontalResolution & vbCrLf & _
    "Resolution verticale = " & Img.verticalResolution
    End Sub
  • Lister les propriétés d'une image
    Dim Img As imageFile
    Dim P As Property
    Dim S As String
    Set Img = createObject("WIA.imageFile")
    Img.loadFile ("C:\Documents and Settings\michel\dossier\DSC00076.JPG")
    For Each P In Img.Properties
    S = P.Name & "(" & P.PropertyID & ") = "
    If P.isVector Then
    S = S & " - vector data not emitted - "
    elseIf P.Type = rationalImagePropertyType Then
    S = S & P.Value.Numerator & "/" & P.Value.Denominator
    elseIf P.Type = stringImagePropertyType Then
    S = S & """" & P.Value & """"
    Else
    S = S & P.Value
    End If
    Debug.Print S
    Next
  • Créer un nouveau TAG "Titre" dans une image
    Cet exemple utilise le filtre Exchangeable Image File (EXIF)
    Sub creation_TAG_TITRE_copieImage()
    Dim Img As imageFile
    Dim IP As imageProcess
    Dim v As Vector
    Dim i As Integer
    Set Img = createObject("WIA.imageFile")
    Set IP = createObject("WIA.imageProcess")
    Set v = createObject("WIA.Vector")
    Img.loadFile "C:\Documents and Settings\michel\dossier\DSC00076.JPG"
    IP.Filters.Add IP.filterInfos("Exif").FilterID
    IP.Filters(1).Properties("ID") = 40091
    IP.Filters(1).Properties("Type") = vectorOfBytesImagePropertyType
    v.setFromString "Test de TAG 'TITRE' avec utilisation de WIA v2.0"
    IP.Filters(1).Properties("Value") = v
    Set Img = IP.Apply(Img)
    Img.saveFile "C:\Documents and Settings\michel\dossier\DSC00076_EXIF.JPG"
    End Sub
    Faites un clic droit sur l'image pour voir le résultat
    Option Propriétés
    Onglet Résumé (Description)
  • Créer une image compressée à partir d'un autre fichier
    Sub compressionImage()
    Dim Img As imageFile
    Dim IP As imageProcess
    Set Img = createObject("WIA.imageFile")
    Set IP = createObject("WIA.imageProcess")
    Img.loadFile "C:\Documents and Settings\michel\dossier\DSC00076.JPG"
    IP.Filters.Add IP.filterInfos("Convert").FilterID
    IP.Filters(1).Properties("FormatID").Value = wiaFormatJPEG
    IP.Filters(1).Properties("Quality").Value = 50
    '
    'Quality : valeurs possibles entre 0 et 100
    'Indiquez une valeur basse pour augmenter la compression
    '
    Set Img = IP.Apply(Img)
    Img.saveFile "C:\Documents and Settings\michel\dossier\DSC00076_Compressee.JPG"
    End Sub
  • Créer une image TIFF type multi-frame (multi-page)
    Visualiser la macro
  • Gérer les Webcams
    Ce nouvel exemple permet de :
    Lister les Webcam connectées
    Visualiser la Webcam
    Mettre la caméra en pause
    Afficher quelques informations
    Effectuer une capture d'image
    Enregistrer l'image capturée sur le PC
    Votre Webcam doit etre préalablement branchée avant d'afficher l'userForm.
    Remarque:
    Vous pouvez brancher plusieurs Webcams simultanément et ensuite sélectionner dans le Treeview celle qui vous interesse.
    Plus généralement , pour utiliser la webCam dans un userForm , rien de plus simple :
    Quand la librairie wiaaut.dll est installé sur votre poste,
    Cherchez les objets deviceManager Class et videoPreview Class dans les controles supplémentaires de la boite à outils .
    Insérez les 2 objets dans votre USF.
    Et ensuite utilisez cette procédure :
    Private Sub userForm_Initialize()
    deviceManager1.registerEvent wiaEventDeviceConnected
    deviceManager1.registerEvent wiaEventDeviceDisconnected
    End Sub
    Le lien sur le forum XLD
    Le fichier zippé
  • Capturer une image de la webCam
    Dim Di As deviceInfo
    Dim Dev As Device
    Private Sub userForm_Initialize()
    deviceManager1.registerEvent wiaEventDeviceConnected
    deviceManager1.registerEvent wiaEventDeviceDisconnected
    '(1) correspond au premier objet connecté
    Set Di = deviceManager1.deviceInfos.Item(1)
    Set Dev = Di.Connect
    If Dev.Type = videoDeviceType Then
    Set videoPreview1.Device = Dev
    End If
    End Sub
    Private Sub commandButton1_Click()
    Dim Itm As Item
    Dim Img As imageFile
    Set Itm = Dev.executeCommand(wiaCommandTakePicture)
    If Not Itm Is Nothing Then
    Set Img = Itm.Transfer
    If Not Img Is Nothing Then
    Set Image1.Picture = Img.fileData.Picture
    End If
    End If
    'pour enregistrer la capture sur le disque
    'Img.saveFile "C:\monimageTest_WIA_V02.jpg"
    End Sub
Lister le nom des appareils connectés ]
Dim i As Integer
For i = 1 To deviceManager1.deviceInfos.Count
msgBox deviceManager1.deviceInfos(i).Properties("Name").V alue & _
vbCrLf & deviceManager1.deviceInfos(i).DeviceID
Next
  • Lister les propriétés de la webCam connectée
    'deviceManager1.deviceInfos.Item(1) correspond au premier objet connecté
    Option Explicit
    Dim Dev As Device
    Private Sub userForm_Initialize()
    Dim Di As deviceInfo
    deviceManager1.registerEvent wiaEventDeviceConnected
    deviceManager1.registerEvent wiaEventDeviceDisconnected
    '(1) correspond au premier objet connecté
    'renvoie une erreur si aucun appareil n'est connecté
    Set Di = deviceManager1.deviceInfos.Item(1)
    Set Dev = Di.Connect
    End Sub
    Private Sub commandButton1_Click()
    Dim P As Property
    Dim S As String
    For Each P In Dev.Properties
    S = P.Name & "(" & P.PropertyID & ") = "
    If P.isVector Then
    S = S & " -vector of data-"
    Else
    If P.Type = stringPropertyType Then
    S = S & """" & P.Value & """"
    Else
    S = S & P.Value
    End If
    End If
    Debug.Print S
    Next
    End Sub
  • Lister les types d'evenements pour l'appareil connecté
    Visualiser la macro
Si vous constatez des erreurs dans la page n'hesitez pas à m'en faire part .
Toutes vos idees sont les bienvenues .
Michel , Mise à jour le 20 Aout 2006

Dernière modification par MichelXld 08/03/2008 à 22h33.
MichelXld est déconnecté   Réponse avec citation
ANNONCES
Réponse



Outils de la discussion

Règles de messages
Vous pouvez ouvrir de nouvelles discussions : nonoui
Vous pouvez envoyer des réponses : nonoui
Vous pouvez insérer des pièces jointes : nonoui
Vous pouvez modifier vos messages : nonoui

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are oui
Pingbacks are oui
Refbacks are oui


Discussions similaires
Discussion Auteur Forum Réponses Dernier message
[REF] Wiki Page 10 de MichelXld MichelXld Questions les plus fréquentes (FAQ) et didacticiels 0 08/03/2008 21h59
[REF] Wiki Page 6 de MichelXld MichelXld Questions les plus fréquentes (FAQ) et didacticiels 0 08/03/2008 21h36
[REF] Wiki Page 3 de MichelXld MichelXld Questions les plus fréquentes (FAQ) et didacticiels 0 08/03/2008 17h27
[REF] Wiki Page 2 de MichelXld MichelXld Questions les plus fréquentes (FAQ) et didacticiels 0 08/03/2008 17h15
[REF] Wiki Page 1 de MichelXld MichelXld Questions les plus fréquentes (FAQ) et didacticiels 0 08/03/2008 17h07


Fuseau horaire GMT +2. Il est actuellement 22h42.


(C) 2006 Excel Downloads