1

背景:

如何:我怀疑这是 Google 表单(提交过程)/电子表格中的一个小故障,但可能是电子表格界面的日期转换实用程序的一部分(并且是预期的功能)。

在 Google Forms 的文本框中输入格式时,Form submit 和 Response Spreadsheet 之间存在某种通信错误,或者在将 Form 的数据发送到电子表格之前对其进行预处理。故障似乎只发生在不包含“。”格式的文本字段中的##:## TEXT数据TEXT。字符。例如:4:15 pm会重现故障,但4:15 p.m不会4:15 p.m.

结果:当将撇号字符放入电子表格(即'4:15 pm)时,将在字符串的开头添加一个撇号字符,这会抛出我使用该时间数据的几个子系统。这是两个屏幕截图(对不起,第二个尺寸不好):

G1G2

我 99% 确定故障是由##:组合引起的。

临时修复?:真正的问题是……在我开始操作时间数据之前,我该如何去除那个讨厌的撇号?我知道如何获取单元格/范围的 getValue()。假设我通过以下方式获得单元格的值:

var value = myRange.getValue();
// value = '4:15 pm

我该如何处理该值4:15 pm?一个简单的java函数可以是

value = value.substring(1); // Assuming "value" is a String

但是在 Google App Scripts for Spreadsheets中,我不知道该怎么做。

后期脚本:有必要对这些数据进行后期处理,这样我就不必向语言系的大学教员讲授如何在表格中正确输入时间格式。

提前感谢那些可以提供帮助的人!

4

2 回答 2

1

我如何才能将该值处理到下午 4:15?一个简单的java函数可以是

值 = value.substring(1); // 假设“value”是一个字符串但在 Google App Scripts for Spreadsheets 中,我不知道该怎么做。

Google Apps Scripts 使用具有完全相同方法的 Javascript。

value = value.substring(1);

应该返回除第一个字符之外的所有字符。

有关 Javascript 子字符串的更多信息,请访问: http: //www.w3schools.com/jsref/jsref_substring.asp

于 2013-04-13T20:34:15.530 回答
1

如果您删除电子表格单元格中的 ',电子表格界面会将此条目转换为日期对象。

这可能(或不是)对您来说是一个问题,所以当您读回数据以供其他用途时,您应该处理这个问题......当文本不同(例如使用 PM)时不会发生这种情况,因为在这种情况下' 电子表格不需要将其保留为字符串,因为电子表格无法将其转换为日期对象(时间值)。

人工智能有其不好的一面;-)


编辑: 您不能使用您提到onFormSubmit的 javascript 在触发函数中执行此操作。substring()如果你不熟悉,这里是要走的路:

在执行特定操作时运行脚本:

  1. 打开或创建一个新的电子表格。
  2. 单击未保存的电子表格对话框并更改名称。
  3. 选择工具 > 脚本编辑器并编写要运行的函数。
  4. 选择资源 > 当前项目的触发器。您会看到一个面板显示未设置触发器消息。点击这里,马上添加一个。
  5. 点击链接。
  6. 在运行下,选择要由触发器执行的功能。
  7. 在事件下,选择从电子表格。
  8. 从下一个下拉列表中,选择打开时、编辑时或表单提交时。
  9. 单击保存。

请参阅此处此处的文档

于 2013-04-13T20:04:25.783 回答