Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/google-sheets/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google apps script 如何保持前导零';谷歌电子表格生成的pdf文档中有什么?_Google Apps Script_Google Sheets_Google Forms_Mailmerge - Fatal编程技术网

Google apps script 如何保持前导零';谷歌电子表格生成的pdf文档中有什么?

Google apps script 如何保持前导零';谷歌电子表格生成的pdf文档中有什么?,google-apps-script,google-sheets,google-forms,mailmerge,Google Apps Script,Google Sheets,Google Forms,Mailmerge,我已经创建了一个google测试表单和测试表单响应。在响应电子表格中,我编写了以下脚本,以从“发件人”>“生成pdf/doc”>“通过电子邮件发送pdf&>将文档副本保存在目标文件夹中”捕获输入值。我遇到的问题是,标记为密码的部分可能以“0”或多个“0”开头,我已在电子表格的脚本中格式化了这些内容。但是,当它生成PDF/DOC时,零将被删除。在PDF/DOC中转换时,是否有任何方法可以保留前导0 函数formatNumber(){ var ss=SpreadsheetApp.getActiveS

我已经创建了一个google测试表单和测试表单响应。在响应电子表格中,我编写了以下脚本,以从“发件人”>“生成pdf/doc”>“通过电子邮件发送pdf&>将文档副本保存在目标文件夹中”捕获输入值。我遇到的问题是,标记为密码的部分可能以“0”或多个“0”开头,我已在电子表格的脚本中格式化了这些内容。但是,当它生成PDF/DOC时,零将被删除。在PDF/DOC中转换时,是否有任何方法可以保留前导0

函数formatNumber(){
var ss=SpreadsheetApp.getActiveSpreadsheet();
var sheet=ss.getSheets()[0];
var单元格=表.getRange(“D2:D”);
//始终显示4位数字
cell.setNumberFormat(“0000”);
}
var docTemplate=“11laarf0ThJ4mANX4KzHZCblVwRgphlf-bCblaUMl4oc”;
var docName=“测试表单”;
函数onFormSubmit(e){
var电子邮件地址=”jimmy111@gmail.com";
var Time_Stamp=e.namedvalue[“Timestamp”];
var full_name=e.namedvalue[“name”];
var phone=e.namedvalue[“电话号码”];
var passcode=e.namedValues[“passcode”];
var价格=e.NamedValue[“价格”];
var copyId=DocsList.getFileById(docTemplate)
.makeCopy(全名+文件名)
.getId();
var copyDoc=DocumentApp.openById(copyId);
var copyBody=copyDoc.getActiveSection();
copyBody.replaceText('keyDate',时间戳);
copyBody.replaceText('keyName',全名);
copyBody.replaceText('keyPhone',phone);
copyBody.replaceText('keyCode',passcode);
copyBody.replaceText('keyPrice',price);
copyDoc.saveAndClose();
var pdf=DocsList.getFileById(copyId.getAs(“application/pdf”);
var subject=“CIR Testform for”+全名+”;
var body=“这是“+全名+”的登记表;
发送电子邮件(电子邮件地址,主题,正文,{htmlBody:body,附件:pdf});
var targetFolder=DocsList.getFolderById('0B-LfisIjjXtvLW82X3o1UzNyY1U');
var file=DocsList.getFileById(copyId);
文件.addToFolder(targetFolder);
file.removeFromFolder(DocsList.getRootFolder());
}
函数assignEditUrls(){
var form=FormApp.openById('16zVePLm61yRsSZMaoDI5MWIeB-vGHZGEoR9J7uJ0CP8');
var sheet=SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Form Responses 1');
var data=sheet.getDataRange().getValues();
var urlCol=6;//应该填充URL的列号;A=1,B=2等
var responses=form.getResponses();
var时间戳=[]、URL=[]、结果URL=[];
对于(var i=0;i
我已经找到了解决这个问题的方法,虽然不太理想,但它仍然有效

使用预填充表单功能,在每个响应中输入需要前导零的句点

因此,如果用户输入了“0123456”,则记录的响应将显示为“0.123456”,然后可以使用子字符串删除前两个字符

e、 g

这将为您提供前导零。唯一的问题是从预先填写的表单中意外删除了句点,尽管您可以设置一个检查句点的验证,然后出现一个错误,要求用户在删除句点后输入句点


不太好,但至少我们现在已经开始运行了。

您当前的答案是一个答案,但您最初的答案不是;这是一个问题。请不要将问题作为答案发布。
var phone = e.namedValues["Phone Number"].substring(2);