我知道我想做什么,但是我不知道该从哪里开始。
在一个Google表格中,该表格在即将到来的电子商务商店中存储了100种产品的数据,我有100张图像,每张图像在Col A中都有一个唯一的URL。
每种产品的图像都指向我们的Google文档,例如<a href="https://drive.google.com/open?id=XXX
> ...`
我想用每张图像的产品代码(例如在Col B中重命名这些图像),例如VFBARCL-70.jpg,并保存在Google文档的新文件夹中,以便我们可以通过以下方式上传图像我们的CSV文件到WooCommerce商店。
作为一个单独的问题,Excel如何从Excel的URL中打开图像?
请,有人可以帮忙吗?
我看过download list of images from urls,但这无济于事,我找到了以下代码:
function convertToImage() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getActiveSheet();
var range = sheet.getDataRange();
var colnum = 3; // assuming column C; change to another column number
var cell;
var values = range.getValues();
for (var i=0; i<values.length; i++) {
if (values[i][colnum-1]) {
cell = range.getCell(i+1, colnum);
cell.setFormula('=image("'+values[i][colnum-1]+'")')
}
}
}
至少在Google中将URL作为图像打开,但是我不知道如何(i)运行脚本,以及(ii)对其进行修改以将图像重命名并将图像重新保存到其他文件夹中。
答案 0 :(得分:0)
这与您要执行的操作非常相似:
function copyMoveAndRenameImages() {
var srcfldr=DriveApp.getFolderById('source folder id');//source folder
var desfldr=DriveApp.getFolderById('destination folder Id');//destination folder
var ss=SpreadsheetApp.getActive();
var sh=ss.getSheetByName('Sheet94');//put your sheetname here
var rg=sh.getRange(1,1,sh.getLastRow(),2);//getting data in columns 1 and 2
var vA=rg.getValues();
var files=srcfldr.getFiles();//getting files in sources folder
while(files.hasNext()) {
var file=files.next();
if(file.getName().slice(0,3)=='die') {//I am picking files with a certain name
for(var i=0;i<vA.length;i++) {
if(vA[i][0]==file.getName().slice(0,4)) {//if filename = value in column 1
//In your case you will compare image url to url in column1 I think
file.makeCopy(Utilities.formatString('%s.jpg', vA[i][1]),desfldr);
}
}
}
}
}
这是我的电子表格的外观:
我认为这很接近您想要的内容,但是我将需要有关URL以及如何将图像名称与所需的新图像名称相关联的更多信息。