2013-10-23 38 views
0

当我使用以下Applescript(我在StackOverflow :)上找到)时,它工作得很好,除了脚本选择的单元格是日期但它不能正确显示在applescript上。或许,这将帮助:Applescript Excel日期单元格值显示不正确

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中选择单元格的值是上午04点14分零零秒,但在AppleScript的,它返回为0.176388888889

我该如何解决这个问题?

回答

2

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

1

您的问题得到解答,但仅仅是为了增加兴趣:Excel将时间存储为小数部分,格式使其具有意义。所以中午为0.5,理论上24:00:00为1,但显然时间又回到00:00:00。如果你将04:14:00乘以86400(一天中的秒数),它将以秒为单位显示时间。所以你可以看到如何用时间来做数学,以及Excel如何在后台进行数学运算。

日期存储为整数,从1901年1月1日(1),其中今天的日期存储计数为41601.

要查看存储的值只是改变单元格的格式为“一般”(CMD +1,有用的快捷键)。