当我使用下面的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,但在AppleScript中,它返回为0.176388888889
我该如何解决这个问题?
答案 0 :(得分:2)
这似乎是Excel在内部存储数据的方式。尝试使用string value
代替value
。这对我有用。
答案 1 :(得分:1)
您的问题已得到解答,但只是为了增加兴趣:Excel将时间存储为小数,格式化使其有意义。因此中午是0.5,理论上,24:00:00将是1,但显然时间再次滚动到00:00:00。如果你将04:14:00乘以86400(一天中的秒数),它将以秒为单位显示时间。所以你可以看到如何随着时间的推移做数学,以及Excel如何在后台进行数学运算。
日期存储为整数,从01/01/1901(1)开始计算,今天的日期存储为41601。
要查看存储的值,只需将单元格格式更改为“常规”(cmd + 1,有用的快捷方式)。