Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/5.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 将所有工作表中的所有文本自动更改为大写,但不更改整个谷歌电子表格中的数字_Google Apps Script_Google Sheets - Fatal编程技术网

Google apps script 将所有工作表中的所有文本自动更改为大写,但不更改整个谷歌电子表格中的数字

Google apps script 将所有工作表中的所有文本自动更改为大写,但不更改整个谷歌电子表格中的数字,google-apps-script,google-sheets,Google Apps Script,Google Sheets,我有一个电子表格,大约有10-12张表格,有几个用户每天添加数据。日期与数字、文本和日期混在一起。因此,我希望所有插入的数据自动转换为大写,而不是数字,因为所有包含日期的单元格都转换为大而长的数字,我必须再次格式化它们以获得正确的格式 我不想使用Google大写()函数。我需要一个脚本,在电子表格的所有工作表中插入任何数据时自动执行此操作 目前我正在使用下面的脚本,它运行良好,但不幸的是,它破坏了日期单元格 function onEdit(e) { if (typeof e.value != '

我有一个电子表格,大约有10-12张表格,有几个用户每天添加数据。日期与数字、文本和日期混在一起。因此,我希望所有插入的数据自动转换为大写,而不是数字,因为所有包含日期的单元格都转换为大而长的数字,我必须再次格式化它们以获得正确的格式

我不想使用Google大写()函数。我需要一个脚本,在电子表格的所有工作表中插入任何数据时自动执行此操作

目前我正在使用下面的脚本,它运行良好,但不幸的是,它破坏了日期单元格

function onEdit(e) {
if (typeof e.value != 'object') {
e.range.setValue(e.value.toUpperCase());
}
}
关于如何使上述脚本跳过数字和日期格式的单元格,您有什么想法吗?

这应该可以:

function onEdit(e) {
if (Object.prototype.toString.call(e.range.getValue()) !== "[object Date]" ) {
e.range.setValue(e.value.toUpperCase());
}
}

非日期单元格是否包含数字?请给出一个未转换的单元格示例correctly@utphx... 任何格式化为date的单元格都有此问题。例如,如果您在电子表格中应用上述脚本,其中任何单元格格式为日期,并且您以以下形式键入日期:18/10…它将转换为:43756。我的想法是检查单元格中是否有数字,但这仅适用于非日期单元格不包含数字的情况,这是真的吗?或者检查单元格是否为日期类型。未正确转换的单元格为日期类型。有些单元格中可能有数字,但我看不出有任何问题。仅在日期类型格式的单元格中。这是一个示例文件。。。如果您将上述脚本应用于该文件并尝试输入日期,您将看到问题Hey@utphx,我可以再问一个问题吗?。。。如果我想排除一些unicode字符,它们可能与同一单元格中的字母和数字混合在一起,该怎么办?。。。如。。。Ⓚ Ⓣ ☎. 我可以在上面的代码中指定这样的字符吗?毕竟,我们只使用了很少一部分。大约8-10点。