F
Folgende Funktion funktioniert, bis, dass das Bild nicht ab der aktivierten ("Select") Zelle in die Worksheet eingefügt wird, sondern einfach oben irgendwo links oben im Woksheet mitten über den schon eingefügten Text rein.
void __fastcall TMLWorksheet::SetPicture(int iRow, int iCol, int iWidth, int iHeight, AnsiString sPath)
{
if (FileExists(sPath) && Connected)
{
try
{
// Zelle aktivieren in der die Grafik eingesetzt werden soll
//vSheet.OlePropertyGet("Cells").OlePropertyGet("Item", iRow, iCol).OleFunction("Select");
vSheet.OlePropertyGet("Cells", iRow, iCol).OleFunction("Select");
// Bild einfügen
Variant vPicture = vSheet.OleFunction("Pictures").OleFunction("Insert", sPath.c_str());
vPicture.OleFunction("Select");
// Breite der Grafik verändern
if (iWidth > 0) vPicture.OlePropertySet("Width", iWidth);
// Höhe der Grafik verändern
if (iHeight > 0) vPicture.OlePropertySet("Height", iHeight);
}
catch(...)
{
}
}
}
Was mache ich falsch?