
[英]Create a Google Sheet with Plain Text Cells to Prevent Auto-Format of Strings
[英]Auto-Format Google Sheet on Upload
我有一个Excel文件,我每周都会上传并自动将其转换为Google工作表。 该文件的布局始终相同,只是日期不同,我希望每次上传时都以相同的方式自动设置格式。 我可以轻松创建一个宏,但是该宏仅在当前工作表中有效。 我希望宏可以处理我上传到此文件夹的所有文件。 这可能吗? 我尝试将脚本发布到Web应用程序和加载项中,但是它们不起作用。
谢谢。 下面是脚本:
/** @OnlyCurrentDoc */
function ScheduleFormat() {
var spreadsheet = SpreadsheetApp.getActive();
var sheet = spreadsheet.getActiveSheet();
sheet.getRange(1, 1, sheet.getMaxRows(), sheet.getMaxColumns()).activate();
spreadsheet.getActiveRangeList().setFontSize(11);
spreadsheet.getActiveSheet().setFrozenColumns(0);
spreadsheet.getRange('1:1').activate();
spreadsheet.getActiveRangeList().setFontSize(12);
sheet = spreadsheet.getActiveSheet();
sheet.getRange(1, 1, sheet.getMaxRows(), sheet.getMaxColumns()).activate();
spreadsheet.getActiveRangeList().setFontColor(null);
spreadsheet.getRange('B:C').activate();
spreadsheet.setCurrentCell(spreadsheet.getRange('C1'));
spreadsheet.getActiveSheet().deleteColumns(spreadsheet.getActiveRange().getColumn(), spreadsheet.getActiveRange().getNumColumns());
spreadsheet.getRange('C2').activate();
spreadsheet.getActiveSheet().setColumnWidth(2, 89);
spreadsheet.getActiveSheet().setColumnWidth(2, 103);
spreadsheet.getRange('C2:I22').activate();
spreadsheet.getActiveRangeList().setBorder(true, true, true, true, true, true, '#000000', SpreadsheetApp.BorderStyle.SOLID);
spreadsheet.getRange('23:24').activate();
spreadsheet.setCurrentCell(spreadsheet.getRange('A24'));
spreadsheet.getActiveSheet().deleteRows(spreadsheet.getActiveRange().getRow(), spreadsheet.getActiveRange().getNumRows());
spreadsheet.getRange('17:17').activate();
spreadsheet.getActiveSheet().insertRowsBefore(spreadsheet.getActiveRange().getRow(), 1);
spreadsheet.getActiveRange().offset(0, 0, 1, spreadsheet.getActiveRange().getNumColumns()).activate();
spreadsheet.getRange('10:10').activate();
spreadsheet.getActiveSheet().insertRowsBefore(spreadsheet.getActiveRange().getRow(), 1);
spreadsheet.getActiveRange().offset(0, 0, 1, spreadsheet.getActiveRange().getNumColumns()).activate();
spreadsheet.getRangeList(['10:10', '18:18']).activate()
.clearFormat();
spreadsheet.getActiveSheet().setRowHeight(10, 13);
spreadsheet.getActiveSheet().setRowHeight(18, 13);
spreadsheet.getRange('G6').activate();
};
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.