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

标签 google-apps-script google-sheets

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

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

目前我正在使用以下脚本,该脚本工作正常,但不幸的是,它破坏了日期单元格......

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());
}
}

关于google-apps-script - 自动将所有工作表中的所有文本更改为大写,但不更改整个 Google 电子表格中的数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58249745/

相关文章:

javascript - 如何在 Google Apps 脚本中使用 locale moment.js?

google-apps-script - 应用脚本 GmailApp.search 与 Gmail 界面中的搜索之间不一致

javascript - 我可以在 Google 脚本编辑器(Google Apps 脚本)中调试 JavaScript 代码吗

optimization - 优化 Google 脚本以隐藏列

google-apps-script - 在脚本中使用内置电子表格函数

google-sheets - 谷歌表 countif 并过滤掉其他列(如果值为 lotto)

google-apps-script - 在 Google Apps 脚本中将 .xls 转换为 Google 电子表格

html - Google Apps 脚本 - 将用户输入从侧边栏写入电子表格

google-sheets - 具有多个类别的堆叠图表存储在单个列中 - Google 表格

xpath - 在Google电子表格中使用ImportXML提取标题