我只想要一个"你好世界"经过一段令人尴尬的小时后,它仍无法正常工作。我是Javascript和Google App脚本的新手。
这是一个简单的脚本,无法输入" Hello"我很感激你有任何关于让它工作的提示。
正如您在评论中看到的那样,我已经尝试了很多方法来获得我的" Hello"在那里,但他们都没有工作。菜单确实有效。谢谢你的帮助
我真正想做的是能够在电子表格中从一个单元格移动到另一个单元格,获取值,将其分配给变量。然后在脚本中满足条件后将var值写入单元格。
function onOpen() {
var ss = SpreadsheetApp.getActive();
var menuItems = [
{name: 'Generate Coin Trades', functionName: 'GCTrades_'}
];
ss.addMenu('CoinTrade', menuItems)
function GCTrades_() {
var ss = SpreadsheetApp.getActive();
SpreadsheetApp.setActiveSheet(ss.getSheetByName('Prices'));
sheet.getRange("$H$1").setValue('Hello');
//settingsSheet.activate();
// One before the last row that has been entered in the spreadsheet
// var LastRow = sheet.spreadsheet.getLastRow() -1;
// var cell1 SpreadsheetApp.getActiveSheet().getRange(LastRow,16);
// var cell = spreadsheet.getRange("$H$1");
// cell.setvalue('Hello')
//var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
// var cell = sheet.getRange(1655,16);
// var cell = 'H1655'
// cell.setValue("Hello");
//var count = SpreadsheetApp.getActiveSheet().getRange(2, 3, 6, 4)
// Spreadsheet.getActiveSheet().getRange(LastRow,16).setvalue('Hello')
// SpreadsheetApp.getActiveRange().setValue('hello')
}
答案 0 :(得分:0)
试试这个:
function onOpen()
{
SpreadsheetApp.getUi().createMenu('CoinTrade')
.addItem('Generate Coin Trades', 'GCTrades_')
.addToUi();
}
//This is a private function so it will not show up in script editors function list. If you want it to show up on the function list then remove the trailing underscore
function GCTrades_()
{
var ss=SpreadsheetApp.getActive();
var sh=ss.getSheetByName('Prices').activate();//The activate is not required but it will force this sheet to be on top
sh.getRange("A1").setValue('Hello');//Do not use $s in the range here
}
我真正想要的是什么:
我真正想做的是能够在一个单元格中移动到另一个单元格 电子表格,获取值,将其分配给变量。然后 在条件满足后将var值写入单元格 脚本。
我不清楚你真正想要的是什么"。也许,您可以自己开始编写代码并优化对您真正想要的内容的描述"。
答案 1 :(得分:0)
有一些拼写错误阻止您的脚本运行。首先,您的onOpen
脚本未关闭。
function onOpen() {
var ss = SpreadsheetApp.getActive();
var menuItems = [
{name: 'Generate Coin Trades', functionName: 'GCTrades_'}
];
ss.addMenu('CoinTrade', menuItems)
} // missing closing curly brace.
您使用了sheet.getRange()...
,但未在任何地方定义工作表。您也不需要使用setActive
来编辑工作表,因为您可以逐个单元地执行此操作。在脚本中定义工作表就足够了。
定义工作表后,您可以获取范围并设置值。我保留了第一个细胞的绝对范围($H$1
)。然后,我们使用.getRow()
和.getColumn()
方法获取位置,为第二个单元格使用相对引用。
function GCTrades_() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheetByName('Sheet1')
var cell1 = sheet.getRange("$H$1").setValue('Hello');
var cell2 = sheet.getRange(cell1.getRow(), cell1.getColumn()+1).setValue('World');
}