I don't know if it's possible, but I am trying to insert an image and then have than image be divided amoung a group of cells.

1

There are 1 best solutions below

1
TheWizEd On

Here is an example of how to insert an image and resize to fit a range of cells.

Code.gs

function insertImage() {
  try {
    let spread = SpreadsheetApp.getActiveSpreadsheet();
    let sheet = spread.getSheetByName("Sheet25");
    let file = DriveApp.getFileById("1F..........................PF");
    let range = sheet.getRange("A2:B4");
    let size = getRangeSize(range);
    console.log(JSON.stringify(size));
    let image = sheet.insertImage(file.getBlob(),size.column,size.row);
    image.setWidth(size.width);
    image.setHeight(size.height);
  }
  catch(err) {
    console.log("Error in test: "+err)
  }
}

function getRangeSize(range) {
  try {
    let sheet = range.getSheet();
    let rows = range.getHeight();
    let columns = range.getWidth();
    let row = range.getRow();
    let column = range.getColumn();
    let image = { row: row, column: column };
    let width = 0;
    let height = 0;
    for( let i=1; i<=rows; i++ ) {
      height = height+sheet.getRowHeight(row++);
    }
    for( let i=1; i<=columns; i++ ) {
      width = width+sheet.getColumnWidth(column++);
    }
    image.width = width;
    image.height = height;
    return image;
  }
  catch(err) {
    console.log("Error in getRangeSize: "+err);
  }
}

Reference