0

当我使用以下 Applescript(我在 StackOverflow 上找到的 :))时,它工作得很好,除了脚本选择的单元格是一个日期,但它没有在 applescript 上正确显示。也许这会有所帮助:

set searchRange to range ("D1:D100")
set foundRange to find searchRange what "string" with match case
set fRow to first row index of foundRange
set myData to value of range ("B" & fRow as text)

B 列中选定单元格的值为 4:14:00 AM,但在 AppleScript 中,它返回为 0.176388888889

我该如何解决这个问题?

4

2 回答 2

2

这似乎是 Excel 在内部存储数据的方式。尝试使用string value而不是value. 这对我有用。

于 2013-10-24T20:06:04.523 回答
1

您的问题已得到解答,但只是出于兴趣添加:Excel 将时间存储为小数部分,并且格式使其有意义。所以中午是 0.5,理论上, 24:00:00 会是 1,但显然时间再次滚动到 00:00:00。如果您将 04:14:00 乘以 86400(一天中的秒数),它将以秒为单位显示时间。因此,您可以了解如何随时间进行数学运算,以及 Excel 如何在后台进行数学运算。

日期存储为整数,从 01/01/1901 (1) 开始计数,今天的日期存储为 41601。

要查看存储的值,只需将单元格格式更改为“通用”(cmd+1,有用的快捷方式)。

于 2013-11-23T16:07:31.063 回答