Google Sheets 使用脚本批量重命名文件?
Google Sheets batch rename files with a script?
我的 sheet 中有很多数字,我想重命名 100 多个不同的文件。例如,我的sheet中的数字与数字1我想将其重命名为01.png。我已经尝试过搜索和替换功能,但它非常耗时,如果我想在 x sheets 上多次执行此操作...在这里提供更好更快的解决方案?
我已经尝试过替换功能:
=REPLACE(A1;1;3;"_01.PNG")
它给了我正确的输出文件名,但我必须 select 数以千计的数字 1。
如何select所有数字1(文本格式)并设置此功能?
编辑:
试试这个:
function rename() {
var sheet = SpreadsheetApp.getActiveSheet();
var range = sheet.getRange(2,1,sheet.getLastRow()-1,sheet.getLastColumn()); //this will automatically select all data in your active sheet starting from row 2
var data = range.getValues(); //get the values, this will return 2D array
for(var i = 0; i < data.length; i++) {
for(var j = 0; j < data[0].length; j++){
data[i][j] = "_" + pad(data[i][j]) + ".PNG" //replace each data with "_NUMBER.PNG"
}
}
range.setValues(data);
}
function pad(n) {
return (n < 10) ? ("0" + n) : n;
}
示例数据:
输出:
参考文献:
自定义代码,它只更改了第一列 (A) 中的名称。我必须在这里改变什么?谢谢
function rename() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sh = ss.getSheets();
sh.forEach(sheet => {
var range = sheet.getRange("A2:F301"); //get all the cells from my sheet
var data = range.getValues();
for(var i = 0; i < data.length; i++)
{
data[i][0] = "_" + pad(data[i][0]) + ".PNG" //replace each data with "_NUMBER.PNG"
}
range.setValues(data);
})
}
function pad(n) {
return (n < 10) ? ("0" + n) : n;
}
我的 sheet 中有很多数字,我想重命名 100 多个不同的文件。例如,我的sheet中的数字与数字1我想将其重命名为01.png。我已经尝试过搜索和替换功能,但它非常耗时,如果我想在 x sheets 上多次执行此操作...在这里提供更好更快的解决方案?
我已经尝试过替换功能:
=REPLACE(A1;1;3;"_01.PNG")
它给了我正确的输出文件名,但我必须 select 数以千计的数字 1。 如何select所有数字1(文本格式)并设置此功能?
编辑:
试试这个:
function rename() {
var sheet = SpreadsheetApp.getActiveSheet();
var range = sheet.getRange(2,1,sheet.getLastRow()-1,sheet.getLastColumn()); //this will automatically select all data in your active sheet starting from row 2
var data = range.getValues(); //get the values, this will return 2D array
for(var i = 0; i < data.length; i++) {
for(var j = 0; j < data[0].length; j++){
data[i][j] = "_" + pad(data[i][j]) + ".PNG" //replace each data with "_NUMBER.PNG"
}
}
range.setValues(data);
}
function pad(n) {
return (n < 10) ? ("0" + n) : n;
}
示例数据:
输出:
参考文献:
自定义代码,它只更改了第一列 (A) 中的名称。我必须在这里改变什么?谢谢
function rename() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sh = ss.getSheets();
sh.forEach(sheet => {
var range = sheet.getRange("A2:F301"); //get all the cells from my sheet
var data = range.getValues();
for(var i = 0; i < data.length; i++)
{
data[i][0] = "_" + pad(data[i][0]) + ".PNG" //replace each data with "_NUMBER.PNG"
}
range.setValues(data);
})
}
function pad(n) {
return (n < 10) ? ("0" + n) : n;
}