UDF > Excel >


_Excel_PictureAdd

Ajoute une image dans le classeur et la feuille de calcul sp�cifi�s

#include <Excel.au3>
_Excel_PictureAdd ( $oWorkbook, $vWorksheet, $sFile, $vRangeOrLeft [, $iTop = Default [, $iWidth = Default [, $iHeight = Default [, $bKeepRatio = True]]]] )

Param�tres

$oWorkbook Objet classeur Excel
$vWorksheet Nom, index ou objet feuille de calcul o� �crire. Si la valeur est le mot-cl� Default, la feuille active sera utilis�e
$sFile Le chemin complet vers le fichier d'image � ajouter
$vRangeOrLeft Une plage au format $xlA1, ou un objet plage, ou un entier indiquant la position, � partir de la gauche, du coin sup�rieur gauche de l'image
$iTop [optionnel] Si $vRangeOrLeft est un entier, alors $iTop est la position, � partir du haut, du coin sup�rieur gauche de l'image.
$iWidth [optionnel] Si sp�cifi�, d�finit la largeur de l'image. S'il n'est pas sp�cifi�, la largeur sera ajust�e automatiquement (par d�faut = Automatic)
$iHeight [optionnel] Si sp�cifi�, d�finit la hauteur de l'image. S'il n'est pas sp�cifi�, la hauteur sera ajust�e automatiquement (par d�faut = Automatic)
$bKeepRatio [optionnel] Utilis� uniquement si $vRangeOrLeft est une plage de plusieurs cellules (par d�faut, True)
    True maintiendra les proportions de l'image d'aspect, tout en restant dans les limites de $vRangeOrLeft.
    False remplira le champ $vRangeOrLeft, en fonction des proportions de l'image d'origine.

Valeur de retour

Succ�s: Retourne un objet Shape qui repr�sente la nouvelle image.
�chec: Retourne 0 et d�finit @error <> 0.
@error: 1 - $oWorkbook n'est pas un objet ou n'est pas un objet classeur
2 - Le nom ou l'index de $vWorksheet n'est pas valide ou $vWorksheet n'est pas un objet feuille de calcul. @extended contient le code d'erreur COM
3 - $vRangeOrLeft n'est pas valide. @extended contient le code d'erreur COM
4 - Une erreur s'est produite lors de l'ajout de l'image. @extended contient le code d'erreur COM
5 - $sFile n'existe pas

Remarques

Si $vRangeOrLeft est une plage de plusieurs cellules $iWidth et $iHeight seront ignor�s (pour sp�cifier que width/height ne concerne pas sur la plage width/height, sp�cifiez une seule cellule dans $vRangeOrLeft).

Si un seul des param�tres $iWidth et $iHeight est sp�cifi�, l'autre (d�fini par d�faut) sera calcul� pour conserver les proportions initiales de l'image.
Si les deux param�tres $iWidth et $iHeight sont sp�cifi�s, l'image utilisera les valeurs sp�cifi�es sans respecter les proportions de l'image.
Si aucun des param�tres $iWidth et $iHeight n'est sp�cifi�, l'image sera automatiquement dimensionn�e � la taille de l'image d'origine.

$bKeepRatio sera ignor�e, sauf si une plage de plusieurs cellules est sp�cifi�e ( voir Param�tres pour plus de d�tails ).

Exemple

#include <Excel.au3>
#include <MsgBoxConstants.au3>

; Cr�e un objet Excel et ouvre un classeur
Local $oExcel = _Excel_Open()
If @error Then Exit MsgBox($MB_SYSTEMMODAL, "UDF Excel: _Excel_PictureAdd-Exemple", "Erreur lors de la cr�ation de l'objet Excel." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
; Cr�e un nouveau classeur
Local $oWorkbook = _Excel_BookNew($oExcel)
If @error Then
    MsgBox($MB_SYSTEMMODAL, "UDF Excel: _Excel_PictureAdd-Exemple", "Error creating workbook." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
    _Excel_Close($oExcel)
    Exit
EndIf

; *****************************************************************************
; Ins�re et redimensionne l'image dans une plage de cellules. Proportions conserv�es
; *****************************************************************************
Local $sPicture = @ScriptDir & "\Extras\_Excel.jpg"
_Excel_PictureAdd($oWorkbook, Default, $sPicture, "B2:D8")
If @error Then Exit MsgBox($MB_SYSTEMMODAL, "UDF Excel: _Excel_PictureAdd-Exemple 1", "Erreur lors de l'insertion de l'image." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
MsgBox($MB_SYSTEMMODAL, "UDF Excel: _Excel_PictureAdd-Exemple 1", "Image ins�r�e/redimensionn�e en 'B2:D8', ratio conserv�.")

; *****************************************************************************
; Ins�re l'image sans redimensionnement.
; *****************************************************************************
_Excel_PictureAdd($oWorkbook, Default, $sPicture, "F8")
If @error Then Exit MsgBox($MB_SYSTEMMODAL, "UDF Excel: _Excel_PictureAdd-Exemple 2", "Erreur lors de l'insertio de l'image." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
MsgBox($MB_SYSTEMMODAL, "UDF Excel: _Excel_PictureAdd-Exemple 2", "Image ins�r�e en 'F1' sans redimensionnement.")

; *****************************************************************************
; Ins�re l'image avec taille/hauteur d�finies.
; *****************************************************************************
_Excel_PictureAdd($oWorkbook, Default, $sPicture, "A8", Default, 300, 250)
If @error Then Exit MsgBox($MB_SYSTEMMODAL, "UDF Excel: _Excel_PictureAdd-Exemple 3", "Erreur lors de l'insertion de l'image." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
MsgBox($MB_SYSTEMMODAL, "UDF Excel: _Excel_PictureAdd-Exemple 3", "Image ins�r�e en 'A8' avec largeur/hauteur d�finies, ratio ignor�.")

; *****************************************************************************
; Ins�re l'image avec taille/hauteur d�finies.
; *****************************************************************************
_Excel_PictureAdd($oWorkbook, Default, $sPicture, 250, 300, 300, 250)
If @error Then Exit MsgBox($MB_SYSTEMMODAL, "UDF Excel: _Excel_PictureAdd-Exemple 4", "Erreur lors de l'insertion de l'image." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
MsgBox($MB_SYSTEMMODAL, "UDF Excel: _Excel_PictureAdd-Exemple 4", "Image ins�r�e � la position 250/300 avec largeur/hauteur d�finies, ratio ignor�.")

; *****************************************************************************
; Ins�re l'image avec taille/hauteur d�finies.
; *****************************************************************************
_Excel_PictureAdd($oWorkbook, Default, $sPicture, "F2:H9", Default, Default, Default, False)
If @error Then Exit MsgBox($MB_SYSTEMMODAL, "UDF Excel: _Excel_PictureAdd-Exemple 5", "Erreur lors de l'insertion de l'image." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
MsgBox($MB_SYSTEMMODAL, "UDF Excel: _Excel_PictureAdd-Exemple 5", "Image ins�r�e/redimensionn�e en 'F2:H9', ratio ignor�.")