连接google脚本中的文本和随机数(代码片段)

author author     2023-05-13     226

关键词:

我正在Google表格脚本编辑器中工作,并尝试执行以下操作(但仅限于Google脚本):

=CONCATENATE("61", RANDBETWEEN(1000000000, 9999999999), "@text.com")

输出将类似于单个单元格中的输出:

617876453299@text.com

当我在脚本中连接数字和文本时,我使用以下公式:

SpreadsheetApp.getActiveSheet().getRange('A1:Z10').setValue(61 + "@text.com")

哪个给出适当的输出:

61@text.com

我有此代码来生成随机数并将其填充到单元格中:

var sheet = SpreadsheetApp.getActive().getSheetByName("sheet1");
var range = sheet.getRange("A1:Z1000");
for (var x = 1; x <= range.getWidth(); x++) 
for (var y = 1; y <= range.getHeight(); y++) 
var number = Math.floor(Math.random() * 8999999999) + 1000000000;
range.getCell(y, x).setValue(number);
  


var sheet = SpreadsheetApp.getActive().getSheetByName("sheet1");
var entries = [
name : "Numbers: 1-9",
functionName : "numbers19"
 ];
 sheet.addMenu("Fill random", entries);

这将提供类似的输出:

8767654543

但是当我将这两个代码组合在一起时,我会不断收到错误消息。我只是想在一个函数中编写一个函数,但是如何用两个不同的代码来实现呢?我已经尝试了以下方法,但是没有用(是的,我将函数myFunction()放在顶部,并有适当的右括号):

 function myFunction() 
function randnumber() 
var sheet = SpreadsheetApp.getActive().getSheetByName("sheet1");
var range = sheet.getRange("A1:Z10");
for (var x = 1; x <= range.getWidth(); x++) 
for (var y = 1; y <= range.getHeight(); y++) 
  var number = Math.floor(Math.random() * 8999999999) + 1000000000;
  range.getCell(y, x).setValue(number);
  
 

var sheet = SpreadsheetApp.getActive().getSheetByName("sheet1");
var entries = [
name : "Numbers: 1-9",
functionName : "numbers19"
  ];


SpreadsheetApp.getActiveSheet().getRange('A1:Z10').setValue("61" + 
randnumber.call(randnumber) + "@text.com")


它在每个单元格中发出了以下消息:

61undefined@text.com

我可能会继续使用我尝试过的其他方法来更新此帖子,以尽可能详细地解决此问题。

注意2:谢谢trebleCode发表评论并尝试提供帮助。我很感激!我试图解决您指出的问题:

function myFunction() 

function randnumber () 
var sheet = SpreadsheetApp.getActive().getSheetByName("sheet1");
var range = sheet.getRange("A1:Z10");
for (var x = 1; x <= range.getWidth(); x++) 
for (var y = 1; y <= range.getHeight(); y++) 
  var number = Math.floor(Math.random() * 8999999999) + 1000000000;
  range.getCell(y, x).setValue(number);
   
 

 var sheet = SpreadsheetApp.getActive().getSheetByName("sheet1");
 var entries = [
 name : "Numbers: 1-9",
 functionName : "numbers19"
   ];
    

 SpreadsheetApp.getActiveSheet().getRange('A1:Z10').setValue("61" + 
 randnumber.call(randnumber()) + "@text.com")

 

但是脚本在每个单元格中呈现了相同的消息:

61undefined@text.com

注意3:我最近尝试了此代码:

function myFunction() 

function randnumber() 
var sheet = SpreadsheetApp.getActive().getSheetByName("sheet1");
var range = sheet.getRange("A1:Z10");
for (var x = 1; x <= range.getWidth(); x++) 
for (var y = 1; y <= range.getHeight(); y++) 
  var number = Math.floor(Math.random() * 8999999999) + 1000000000;
  range.getCell(y, x).setValue(number);
   


var sheet = SpreadsheetApp.getActive().getSheetByName("sheet1");
var entries = [
name : "Numbers: 1-9",
functionName : "numbers19"
];

function copyFormulasToValues()  var ss = 
SpreadsheetApp.getActiveSpreadsheet(); 
var sourceSheet = ss.getSheetByName("Sheet1"); 
var destinationSheet = ss.getSheetByName("Sheet1"); 
var range = sourceSheet.getRange(1,1,1,1);
  



SpreadsheetApp.getActiveSheet().getRange('A1:Z10').setValue("61" + 
randnumber + "@text.com")


它在每个单元格中提供以下输出:

61
function randnumber() 
var sheet = SpreadsheetApp.getActive().getSheetByName("sheet1");
var range = sheet.getRange("A1:Z10");
for (var x = 1; x <= range.getWidth(); x++) 
    for (var y = 1; y <= range.getHeight(); y++) 
        var number = Math.floor(Math.random() * 8999999999) + 1000000000;
        range.getCell(y, x).setValue(number);
    
 
var sheet = SpreadsheetApp.getActive().getSheetByName("sheet1");
var entries = [name:"Numbers: 1-9", functionName:"numbers19"];
function copyFormulasToValues() 
    var ss = SpreadsheetApp.getActiveSpreadsheet();
    var sourceSheet = ss.getSheetByName("Sheet1");
    var destinationSheet = ss.getSheetByName("Sheet1");
    var range = sourceSheet.getRange(1, 1, 1, 1);
    
 
 @text.com

它对待我正在调用的函数就像用引号引起来。我该如何解决?

我最近在堆栈溢出处发现了这篇文章:

Use RAND() in User Defined Function

它说:

“问题是您不能从用户定义的函数内部调用非确定性函数。

我通过创建视图来解决此限制,在视图内部调用该函数并在您的函数内部使用该视图,就像这样……“

问题是他发布了sql,但是我需要JavaScript。有没有办法解决JavaScript中的这个问题?

答案

此功能完全可以完成我想做的事情。它用随机数和“ @text”连接“ 61”。

function myFunction() 
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];
var cell = sheet.getRange("A1:Z10");
cell.setFormula('=CONCATENATE("61", RANDBETWEEN(1000000000, 9999999999), 
"@text.com")');

xamarinforms中的button文本默认大写(代码片段)

问题来源使用xamarinforms创建的android项目中,Button、Toolbar的右侧菜单按钮上的如果是字母的话,在android5.0以上,默认的文本都是大写,这种情况iOS项目不存在,是正常的显示。google公司把android的文本默认大写,这个肯定和英语... 查看详情

csharp从脚本中更改ui中的文本(代码片段)

查看详情

javascript允许代码中的动态文本(仅限js脚本)(代码片段)

查看详情

php添加脚本,google字体,字体真棒和样式表(代码片段)

查看详情

sh使用带有当前时间和随机数的帖子数据的bash脚本卷曲(代码片段)

查看详情

马尔科夫链随机文本生成器(代码片段)

...语言的文本(如一本英文小说),可以构造出由这个文本中的语言使用情况而形成的统计模型,并通过该模型生成的随机文本将具有与原文本类似的统计性质(即具有类似写作风格)。该算法的基本原理是将输入看成是由一些互... 查看详情

Google 跟踪代码管理器 - 将 CSP 随机数添加到自定义 HTML 代码段的任何可能方式?脚本属性被剥离

】Google跟踪代码管理器-将CSP随机数添加到自定义HTML代码段的任何可能方式?脚本属性被剥离【英文标题】:GoogleTagManager-AnypossiblewayofaddingCSPnoncetoCustomHTMLsnippets?Scriptattributesgetstripped【发布时间】:2021-06-0806:06:33【问题描述】:... 查看详情

phpphp和mysql连接脚本(代码片段)

查看详情

phpphp和mysql连接脚本(代码片段)

查看详情

springboot——thymeleaf中的th:inline(内敛文本text内敛脚本javascript)(代码片段)

1.写在前面th:inline有三个取值类型(text,javascript和none),值为none什么都不做,没有效果。所以这里只对前两个取值类型(text、javascript)做一个举例。2.应用举例2.1内敛文本(th:inline=”text”)内敛文本表... 查看详情

如何将文本文件中的行读取/输入到 Google 搜索自动化脚本中?

】如何将文本文件中的行读取/输入到Google搜索自动化脚本中?【英文标题】:Howtoread/inputlinesfromatextfileintoaGooglesearchautomationscript?【发布时间】:2022-01-2401:01:46【问题描述】:我的问题是一个由两部分组成的问题,引起了混乱。... 查看详情

r连接data.frame中的2个文本列(代码片段)

查看详情

powershell该脚本生成100个随机字符串。注释部分启用所有字母和数字。(代码片段)

查看详情

google广告批量投放脚本(代码片段)

该脚本文件是一个转化文件,将编辑的Google投广告模板转化成Google批量投放广告的脚本文件,实现批量投放广告,节省投广时间。PS:要与相应的模板结合使用,投广告模板在本人博客的文件中,可以下载。关于模板的注意事项... 查看详情

python风格规范(google)(代码片段)

...除外:长的导入模块语句注释里的URL不要使用反斜杠连接行。Python会将圆括号,中括号和花括号中的行隐式的连接起来,你可以利用这个特点.如果需要,你可以在表达式外围增加一对额外的圆括号。推荐:foo_bar(self,width,height,color&... 查看详情

我可以随机化 MultipleChoiceItem 中的项目吗?

...gle表单时随机播放MultipleChoiceItem中的项目。下面是我当前脚本的一部分,稍微修改了t 查看详情

Google Apps 脚本:自定义函数,仅根据条件连接多行中的首字母

】GoogleApps脚本:自定义函数,仅根据条件连接多行中的首字母【英文标题】:GoogleAppscript:Customfunctiontoconcatenateonlytheinitialsfrommultiplerowsbasedonacriteria【发布时间】:2015-05-0507:49:43【问题描述】:抱歉,如果我不能很好地解释它,... 查看详情

javascript在javascript中连接文本和变量(代码片段)

查看详情