Funktionreferenz


_Excel_PictureAdd

Beschreibung anzeigen in

Fügt ein Bild in das angegebene Arbeitsbuch und die Arbeitsblatt

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

Parameter

$oWorkbook Excel Arbeitsbuch-Objekt
$vWorksheet Name, Index oder Arbeitsblatt-Objekt in das geschrieben werden soll. Wenn das Schlüsselwort Default gesetzt ist, wird das aktive Arbeitsblatt genutzt
$sFile Voller Pfad zur Bilddatei, welche hinzugefügt werden soll
$vRangeOrLeft Entweder ein A1 Bereich, ein Bereichs-Objekt oder eine Zahl, welche die linke Position der oberen, linken Ecke des Bildes festlegt
$iTop [optional] Wenn $vRangeOrLeft ein Integer ist, dann ist $iTop die obere Position der oberen, linken Ecke des Bildes
$iWidth [optional] Wenn angegeben, setzt es die Breite des Bildes. Wenn nicht angegeben, wird die Breite automatisch ermittelt (Standard = automatisch)
$iHeight [optional] Wenn angegeben, setzt es die Höhe des Bildes. Wenn nicht angegeben, wird die Höhe automatisch ermittelt (Standard = automatisch)
$bKeepRatio [optional] Wird nur genutzt, wenn die $vRangeOrLeft ein Mehrfachzellen-Bereich ist (Standard = True)
    Bei True wird das Seitenverhältnis in den Grenzen des durch $vRangeOrLeft definierten Bereiches erhalten.
    Bei False wird der durch $vRangeOrLeft definierte Bereich ausgefüllt, unabhängig vom originalen Seitenverhältnis (und dadurch das Bild ev. verzerrt).

Rückgabewert

Erfolg: Ein Formobjekt (Shape), das das neue Bild darstellt
Fehler: 0 und setzt @error.
@error: 1 - $oWorkbook ist kein Objekt oder kein Arbeitsbuch-Objekt
2 - $vWorksheet Name oder Index ist falsch oder $vWorksheet ist kein Arbeitsblatt-Objekt. @extended ist gesetzt auf den COM Fehlercode
3 - $vRangeOrLeft ist falsch. @extended ist auf den COM Fehlercode gesetzt
4 - Ein Fehler trat beim Hinzufügen des Bildes auf. @extended ist auf den COM Fehlercode gesetzt
5 - $sFile existiert nicht

Bemerkungen

Wenn $vRangeOrLeft ein Bereich mit mehreren Zellen ist, wird $iWidth und $iHeight ignoriert (um Breite/Höhe des Bildes nicht basierend auf der Breite/Höhe des Bereichs anzugeben, gibt eine einzelne Zelle in $vRangeOrLeft an).

Wenn nur Breite oder Höhe angegeben ist, so wird der fehlende Wert (auf Standard gesetzt) skaliert um das Format des Originalbildes beizubehalten.
Wenn beide, Breite und Höhe, angegeben sind, wird das Bild die angegebenen Werte ungeachtet des originalen Formates nutzen.
Wenn weder Breite, noch Höhe angegeben sind, wird das Bild automatisch auf die Größe des Original Bildes skaliert.

$bKeepRatio wird ignoriert, wenn kein Range über mehrere Zellen angegeben wurde (siehe Parameter für Details).

Beispiel

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

; Erstellen des Anwendungsobjektes und Öffnen eines Beispiel Workbooks
Local $oExcel = _Excel_Open()
If @error Then Exit MsgBox($MB_SYSTEMMODAL, "Excel UDF: _Excel_PictureAdd Beispiel", "Fehler beim Erstellen des Excel Objektes." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
; Erstellen eines neuen Workbook
Local $oWorkbook = _Excel_BookNew($oExcel)
If @error Then
    MsgBox($MB_SYSTEMMODAL, "Excel UDF: _Excel_PictureAdd Beispiel", "Fehler beim Erstellen des Workbook." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
    _Excel_Close($oExcel)
    Exit
EndIf

; Einfügen des Bildes in einen Bereich von Zellen und Ändern seiner Größe. Seitenverhältnis beibehalten
Local $sPicture = @ScriptDir & "\Extras\_Excel.jpg"
_Excel_PictureAdd($oWorkbook, Default, $sPicture, "B2:D8")
If @error Then Exit MsgBox($MB_SYSTEMMODAL, "Excel UDF: _Excel_PictureAdd Beispiel 1", "Fehler beim Einfügen des Bildes." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
MsgBox($MB_SYSTEMMODAL, "Excel UDF: _Excel_PictureAdd Beispiel 1", "Bild eingefügt/größenverändert an 'B2:D8', Seitenverhältnis beibehalten.")

; Einfügen des Bildes ohne Größenänderung.
_Excel_PictureAdd($oWorkbook, Default, $sPicture, "F8")
If @error Then Exit MsgBox($MB_SYSTEMMODAL, "Excel UDF: _Excel_PictureAdd Beispiel 2", "Fehler beim Einfügen des Bildes." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
MsgBox($MB_SYSTEMMODAL, "Excel UDF: _Excel_PictureAdd Beispiel 2", "Bild eingefügt an 'F8' ohne Größenänderung.")

; Einfügen des Bildes mit einer definierten Größe/Höhe.
_Excel_PictureAdd($oWorkbook, Default, $sPicture, "A8", Default, 300, 250)
If @error Then Exit MsgBox($MB_SYSTEMMODAL, "Excel UDF: _Excel_PictureAdd Beispiel 3", "Fehler beim Einfügen des Bildes." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
MsgBox($MB_SYSTEMMODAL, "Excel UDF: _Excel_PictureAdd Beispiel 3", "Bild eingefügt an 'A8' mit definierter Größe/Höhe, Seitenverhältnis ignoriert")

; Einfügen des Bildes mit einer definierten Größe/Höhe.
_Excel_PictureAdd($oWorkbook, Default, $sPicture, 250, 300, 300, 250)
If @error Then Exit MsgBox($MB_SYSTEMMODAL, "Excel UDF: _Excel_PictureAdd Beispiel 4", "Fehler beim Einfügen des Bildes." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
MsgBox($MB_SYSTEMMODAL, "Excel UDF: _Excel_PictureAdd Beispiel 4", "Bild an Position 250/300' mit definierter Größe/Höhe eingefügt, Seitenverhältnis ignoriert")

; Einfügen des Bildes mit einer definierten Größe/Höhe.
_Excel_PictureAdd($oWorkbook, Default, $sPicture, "F2:H9", Default, Default, Default, False)
If @error Then Exit MsgBox($MB_SYSTEMMODAL, "Excel UDF: _Excel_PictureAdd Beispiel 5", "Fehler beim Einfügen des Bildes." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
MsgBox($MB_SYSTEMMODAL, "Excel UDF: _Excel_PictureAdd Beispiel 5", "Bild an 'F2:H9' eingefügt/angepasst, Seitenverhältnis ignoriert.")