Android上的谷歌脚本激活(选择)一个单元格

时间:2017-11-09 15:07:31

标签: google-apps-script google-sheets

花了一半时间寻找解决方案并且已经知道99.9%的任何语言问题已经被问到我终于得出结论这是新的...

我正在尝试使用简单的onEdit触发器在Android手机上的谷歌表上运行。一旦更改了单元格,脚本应激活下面的单元格(或下面的下一个单元格)。这个解决方案可以帮助那些试图通过手机快速填写谷歌表格的人,因为通常难以使​​用某些大手指点击电子表格中的单元格...

所有解决方案都适用于我的Mac,但三星手机上没有。范围“B15”更改的第一个事件触发器实际上有效,但它不会在电子表格中选择另一个单元格。

有什么想法吗?谢谢!

function onEdit(e) {

  var range  = e.range

  // THIS WORKS, but it does not use activate method 
  //(it is actually piece of code I took from stackoverflow...
  if (e.range.getA1Notation() == 'B15') {
    if (/^\w+$/.test(e.value)) {        
      eval(e.value)();
      e.range.clearContent();

    }
  }
 // The following code does not work
  if (e.range.getA1Notation() == 'B3'){
    eval('movedown')();
  }
  if (e.range.getA1Notation() == 'B4'){
    var tR = e.range.getRow()
    SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Form').getRange(tR+1,2).activate()
  }
  if (e.range.getA1Notation() == 'B5'){
    range.getActiveCell().offset(1,0).activate();
  }
  if (e.range.getA1Notation() == 'B6'){range.offset(1,0).activate();}
  if (e.range.getA1Notation() == 'B7'){range.offset(5,0).activate();}
  if (e.range.getA1Notation() == 'B12'){range.offset(1,0).activate();}
  if (e.range.getA1Notation() == 'B13'){range.offset(2,0).activate();}
}

function movedown(){
 var sh = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Form'); 
 var cs = sh.getActiveCell().getRow()
 sh.getRange(cs+1, 2).activate()
}

2 个答案:

答案 0 :(得分:2)

截至2017年11月,在移动设备上运行谷歌脚本时,您似乎无法更改活动小区位置(我们尝试过三星手机和iphone 6& 7)。是的,你可以使用触发功能运行谷歌脚本,例如onEdit(e)以便通过引用来操纵您的数据

答案 1 :(得分:1)

重新审视此答案

我是在Iphone7上做到的:

function onEdit(e) 
{
  if(e.range.getA1Notation()!='A1')
  {  
    var rg=e.source.getSheetByName('Form').getRange(1,1).setValue(Utilities.formatString('Row:%s,Col:%s,Value:%s',e.range.getRow(),e.range.getColumn(),e.value));
    e.range.offset(1,0).activate();
  }
}

onEdit(e)可以在我的Iphone7上运行,但它不会移动到最近编辑的单元格下面的单元格。换句话说,e.range.offset(1,0).activate();似乎不适用于我的iPhone 7。

  

显然,Iphone7的默认行为是,当您点击返回时,它会输入数据并向下移动一个空格。所以我的Iphone7将提供开箱即用的提问者所需的动作。 onEdit的工作原理是将事件块信息输入到单元格A1中,但如上所述,不会影响激活单元格的移动。

enter image description here

  

我忘了提到这个onEdit(e)在谷歌浏览器的笔记本电脑上运行正常。