是否可以为电子表格定义将“ Ctrl + V”(常规粘贴)视为“ Ctrl + Shift + V”(仅粘贴值)?不仅对我自己,对于任何可以编辑的用户。
原因:所涉及的电子表格中包含数据验证,格式设置和条件格式设置。用户在此电子表格中大量使用“ Ctrl + V”,因此这些设置经常被篡改
答案 0 :(得分:1)
没有直接的方法可以实现,但是作为解决方法,您可以 将具有以下内容的Apps脚本附加到电子表格 功能:
示例:
function onEdit(){
var spreadsheet = SpreadsheetApp.getActive();
var activeRange=spreadsheet.getActiveRange();
activeRange.setValues(activeRange.getValues());
}
如果您想从模板中粘贴onEdit
的格式,条件格式和已编辑范围的数据验证-您可以使用方法copyTo(destination, copyPasteType, transposed)相应地将copyPasteType具体化。
示例:
function onEdit(){
var spreadsheet = SpreadsheetApp.getActive();
var activeRange=spreadsheet.getActiveRange();
var A1Notation=activeRange.getA1Notation();
var templateRange=SpreadsheetApp.openById('ID OF THE TEMPLATE SPREADSHEET').getSheetByName('NAME OF THE TEMPLATE SHEET').getRange(A1Notation);
templateRange.copyTo(activeRange, spreadsheetApp.CopyPasteType.PASTE_FORMAT);
templateRange.copyTo(activeRange, spreadsheetApp.CopyPasteType.PASTE_CONDITIONAL_FORMATTING);
templateRange.copyTo(activeRange, spreadsheetApp.CopyPasteType.PASTE_DATA_VALIDATION);
}
答案 1 :(得分:0)
我很高兴地通知您,我已达到以下目标:
注意:我将此功能包含在库中,因为它可以在数百个电子表格副本中使用。
**
**:
var testArr = ["Jeremy", "John", "Hank", "Hal"];
我非常依赖here提供的答案。
ziganotschka,谢谢您的帮助!