0
Googleスプレッドシートのシートの1つに、別のセルで参照しているセルがあります。テキストは正常にコピーされますが、フォーマットは一切ありません。だから私は太字またはイタリックの書いている場合は、参照されたセルで通常の書き込みとして表示されます。セルからテキストを参照する別のセルへのテキスト書式の移行
私は以下のスクリプトを試しましたが、うまく動作しません。書式全体をコピーするのではなく、セルの枠線だけをコピーし、それを下の複数のセルにコピーします(合計7セル、ターゲット1と下の6セル)。
function onEdit() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var activeSheet = ss.getActiveSheet();
var activeSheetName = activeSheet.getName();
var activeCell = activeSheet.getActiveCell();
if (activeSheet.getName().indexOf("Job ID") != -1 && activeCell.getRow() == 4 && activeCell.getColumn() == 15) {
var targetSheet = ss.getSheetByName('Active Jobs');
var jobRowNumber = findJobIdRow();
var sourceCell = activeSheet.getRange(4,1,15,1);
sourceCell.copyFormatToRange(targetSheet, 16, 16, jobRowNumber, jobRowNumber);
}
}
function findJobIdRow() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var jobID = ss.getActiveSheet().getRange(2,1).getValue();
var column = ss.getSheetByName('Active Jobs').getRange(2,1,ss.getSheetByName('Active Jobs').getMaxRows()-2,1);
var values = column.getValues(); // get all data in one call
for(var ct = 0; ct < values.length-1; ct++){
if(values[ct][0] == jobID){
var ct = ct+2;
break;
}
}
return ct;
}