2015-04-05 83 views
-1

我一直忙于尝试在Google Spreadsheet中使用内置JavaScript,但是没有在javascript或Google Spreadsheet中工作,我遇到了一些困难。在Google电子表格中循环浏览单元格

我的脚本应该读取单元格中的数字(1-3),并从该数字解析图像到下面的单元格中(我一直在使用setFormula命令)。

到目前为止它工作的是1个单元格(我现在选择了B6),但是我想在每个其他单元格中循环显示一列数字(所以脚本运行后,它是数字图片 - 数字图片等) - 我只是无法弄清楚如何。

我现在使用的代码:

function numbtoimage() { 
var ss = SpreadsheetApp.getActiveSpreadsheet(); 
var sheet = ss.getSheets()[0]; 
var url = 'IMAGE("https://dl.dropboxusercontent.com/s/bpqy8o796casqjl/belt.JPG?dl=0", 2)'; 
var url2 = 'IMAGE("https://dl.dropboxusercontent.com/s/4q8sakhkpot0h65/belt2.JPG?dl=0",2)'; 
var url3 = 'IMAGE("https://dl.dropboxusercontent.com/s/kvsf4z6z45rcg53/belt3.JPG?dl=0",2)'; 
var cell = sheet.getRange("B6") 
var data = cell.getValue() 
if(data==1) {cell.offset(1, 0, 1).setFormula(url);} 
else if(data==2) {cell.offset(1, 0, 1).setFormula(url2);} 
else if(data==3) {cell.offset(1, 0, 1).setFormula(url3);} 
} 

我已经看了This similar problem,但一直未能使它成为我的情况下工作。

任何帮助非常感谢!

  • 尼克拉斯

回答

0

你需要某种形式的循环要经过数据。我会建议一个FOR循环。 您的脚本当前被编写为获取单个单元格值,而不是所有值。 因此,一次性获取所有值可能是一个想法,然后检查它们中的内容。

同样来自你的问题,目前还不清楚在哪里可以找到数字。 只在B列?

这是一个快速示例(未经测试),它通过列B查找数字,并且应该根据该数字将链接插入到下面的单元格中。此代码基于您的原始示例,未经测试,但希望它有所帮助。

function numbtoimage() { 
var ss = SpreadsheetApp.getActiveSpreadsheet(); 
var sheet = ss.getSheets()[0]; 
var url = 'IMAGE("https://dl.dropboxusercontent.com/s/bpqy8o796casqjl/belt.JPG?dl=0", 2)'; 
var url2 = 'IMAGE("https://dl.dropboxusercontent.com/s/4q8sakhkpot0h65/belt2.JPG?dl=0",2)'; 
var url3 = 'IMAGE("https://dl.dropboxusercontent.com/s/kvsf4z6z45rcg53/belt3.JPG?dl=0",2)'; 
var values = sheet.getValues(); 

for(i=0; i < values.lenth ; i++){ 

if(values[i][1]==1) {sheet.getRange(i+2, 2).setFormula(url);} 
else if(values[i][1]==2) {sheet.getRange(i+2, 2).setFormula(url2);} 
else if(values[i][1]==3) {sheet.getRange(i+2, 2).setFormula(url3);} 
} 
} 
相关问题