2015-04-03 20 views
1

我有一个这样的搜索工具:如何更新同一行中没有行返回在LASTROW谷歌应用程序脚本

https://sites.google.com/site/appsscriptexperiments/home/a-simple-search-tool-ui 

但把它放在面板上,添加一个编辑按钮可以使txtboxes和更新按钮保存更改。但是,我将如何更新我搜索过的同一行中的现有数据?可能吗?是更新它,但它返回到最后一行。不在同一行。

function updatebutton(e){ 
    var ss = SpreadsheetApp.openById('exampleID').getActiveSheet(); 

    var sheet = SpreadsheetApp.getActiveSpreadsheet(); 

    var lastRow = ss.getLastRow(); 

    var row= ss.getDataRange().getRowIndex(); 

    var app = UiApp.getActiveApplication(); 

    var timestamp = e.timestamp = new Date() + 
    Session.getActiveUser().getUserLoginId(); 

    var txt0 = e.parameter.txt0; 

    var txt1 = e.parameter.txt1; 

    var txt2 = e.parameter.txt2; 

    var txt3 = e.parameter.txt3; 

    var data = ss.getRange(lastRow+1, 1, 1,4).setValues([[timestamp,txt1,txt2,txt3]]); 

    return app; 

} 

或者是否有可能确定我想从哪里输入数据?帮助不大。谢谢

+0

您发布的代码不显示任何搜索功能。如果你有代码发现问题,有办法找出哪些行有信息被发现。但是你现在的代码并不显示任何可以找到任何信息的东西。 – 2015-04-03 16:08:40

回答

0

看来您正在使用搜索电子表格并在单元格中查找值的代码。然后你想更新那些行数据。如果正在使用for循环,则for循环的计数可以与该行匹配。如果您正在获取数据数组,然后查找数组中的值的索引,那么索引号可以与行号匹配。

您可以获取当前的活动行号。但是你需要在程序运行之前点击你想更新的那一行。

var theActiveSheet = SpreadsheetApp.getActiveSheet().getName(); 
//Logger.log('theActiveSheet: ' + theActiveSheet); 

if (theActiveSheet === 'your sheet name') { 
    //Ask to Overwrite only if this is the correct sheet 
    var updateThisRow = Browser.msgBox('UPDATE CURRENT ROW?', 'Overwrite current rows data', Browser.Buttons.YES_NO); 
}; 

if (updateThisRow === 'yes') {  
    var currentRow = ss.getActiveCell().getRow(); 
    var data = ss.getRange(currentRow, 1, 1,4).setValues([[timestamp,txt1,txt2,txt3]]); 
}; 
+1

omg感谢您的回复。我试过了,但没有发生任何反应-_-看看我的应用程序和电子表格 – 2015-04-03 15:11:27

+0

我也看着这一个,但我不明白它的http://quabr.com/28397927/how-to-update -a-google-worksheet-with-javascript请看看谢谢 – 2015-04-03 15:40:17

+0

您需要使用调试工具。您可以在代码中添加Logger.log('some text:'+ variableName)'语句,然后查看LOGS,查看代码实际正在执行的内容,或者使用调试器遍历代码。 [故障排除](https://developers.google.com/apps-script/troubleshooting#using_the_debugger_and_breakpoints) – 2015-04-03 15:54:42

相关问题