在 Open Office Calc 中获取上次更改日期作为单元格值

在 Open Office Calc 中获取上次更改日期作为单元格值

我有几个 Open Office 电子表格文件(我们称之为源文件),每个文件都包含我们某个办公室的财务信息。我还有一个摘要电子表格,它读取有关办公室的一些关键数据并进行一些分析。为了进行分析,我还想知道各个源文件的过时程度,以及办公室上次更新数据的时间。有没有办法从 Open Office 访问源文件的“上次修改时间”和/或“创建时间”文件系统属性,并将日期导入给定的单元格?

替代解决方案也是可以的,只要我将源文件的最后更改日期放入摘要电子表格的单元格中。

答案1

我发现最接近 libreoffice 的是函数NOW()。互联网上有许多与 Excel 相关的答案,需要 Visual Basic。例如,请参阅

http://www.sumproduct.com/thought/creating-a-timestamp

希望你(和我!)有一天能得到一个好的答案,但 9 个月后我想我们将不得不再忍受一段时间了......

答案2

我不断看到有关在 Calc 单元格中获取上次文件修改日期的问题,但没有好的答案。以下是我使用的代码。将其作为宏添加到电子表格中。

Function CalcDoc_Modify_Date()
Dim sTemp
' work with DocInfo
With ThisComponent.DocumentProperties.ModificationDate
   ' set return format
   ' force month and day to two digits
   sTemp = _
   Format( .Month, "0#" ) & "/" & _
   Format( .Day, "0#" ) & "/" & _
   .Year & " " & _
   Format( .Hours, "0#" ) & ":" & _
   Format( .Minutes, "0#" ) 
   End With
' assign func return value
CalcDoc_Modify_Date = sTemp
End Function 

在电子表格中,输入=CALCDOC_MODIFY_DATE()一个单元格来调用此函数。

答案3

使用此 VBA(宏)代码作为模块,将返回文件最后修改的日期和时间。

免责声明:

此代码仅适用于 EXCEL,不适用于 Open Office Calc。

我发布这个答案是为了让社区受益,因为我确实相信这很难找到。

Function LastWBKModDate() As String

    Dim FSO As Object
    Dim File As Object

    Set FSO = CreateObject("Scripting.FileSystemObject")
    Set File = FSO.GetFile(ThisWorkbook.FullName)
    LastWBKModDate = Format(File.DateLastModified, "m/d/yy h:n ampm")
    MsgBox LastWBKModDate
    Set FSO = Nothing
End Function

怎么运行的:

  • 在任何空白单元格中输入此公式

=LastWBKModDate()

当你点击时,公式将返回Message Box显示Date & Time好的last modified Date & Time被填充到单元格中。

相关内容