3

Google ドライブのスプレッドシートに取り組んでいます。

画像を表示するためのカスタム関数/スクリプトを作成することは可能ですか?

関数 (= tick) を入力すると、セルに目盛りの画像が表示されるという考えです。

4

1 に答える 1

2

Google スプレッドシートのセルに Unicode 文字を挿入できます。

=CHAR( HEX2DEC( "2713" ))

これにより、セルにチェック マークが挿入されます。

1 つのオプションは、onEdit()単純なトリガーを使用して、現在のセルに入力された内容を確認することです。

function onEdit(e) {
  Logger.log("onEdit ran" + e);
  var input = e.value;

  if (input === "inputTick") {
    var whatCell = e.range;
    //Run a function named insertTick and pass the range
    insertTick(whatCell);
  }; 
};

上記の例では、ユーザーはセルに「inputTick」と入力する必要があります。

セルに画像を挿入する関数あります。

Google ドキュメンテーション =IMAGE()

考えられる構文の 1 つ:

IMAGE(URL、モード)

コードを使用して数式をセルに設定 (挿入) できます。

var cell = sheet.getRange("B5");
cell.setFormula("=IMAGE(url, mode)");

渡されたセルの位置を取得し、チェック マークの Unicode 文字を含む関数を挿入する関数を次に示します。

function insertTick(argWhatCell) {
  Logger.log(argWhatCell);
  //Insert a formula into a cell that converts HEX to a Character
  argWhatCell.setFormula("=CHAR( HEX2DEC( "2713" ))");
}

上記のコードは関数を挿入し、Unicode をチェック マークに変換します。

Unicode で表示できない画像を挿入したい場合は、次の関数が機能する可能性があります。

function insertTick(argWhatCell) {
  Logger.log(argWhatCell);
  var rngValues = argWhatCell.getValue();

  Logger.log(rngValues);
  var ss = SpreadsheetApp.getActiveSpreadsheet();

  //Get row and column
  var row = argWhatCell.getRow();
  var column = argWhatCell.getColumn();

  Logger.log(row + " : " + column);

  //Insert an image by URL
  ss.insertImage(url, column, row)
}

上記のコードを使用insertImage()すると、セルの位置に画像が挿入されますが、画像はセル内にはありません。

于 2015-02-25T18:43:08.653 に答える