Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vba 获取具有动态名称的目录中最后修改的文件或文件夹_Vba_Excel - Fatal编程技术网

Vba 获取具有动态名称的目录中最后修改的文件或文件夹

Vba 获取具有动态名称的目录中最后修改的文件或文件夹,vba,excel,Vba,Excel,我试图在excel工作表中显示上次访问excel文件的人员和时间,但文件名每天都在更改(文件名包含日期) 我当前的代码给了我一个找不到文件的错误,我尝试了ActiveWorkbook.path和Application.ActiveWorkbook.path Sub Main() 'Setting Summary Report Dim sAuthor As String sAuthor = ActiveWorkbook.BuiltinDocumentProperties("Last Author"

我试图在excel工作表中显示上次访问excel文件的人员和时间,但文件名每天都在更改(文件名包含日期)

我当前的代码给了我一个找不到文件的错误,我尝试了
ActiveWorkbook.path
Application.ActiveWorkbook.path

Sub Main()
'Setting Summary Report
Dim sAuthor As String
sAuthor = ActiveWorkbook.BuiltinDocumentProperties("Last Author")
 'Last modified person & time
    Dim fileModDate As String
    Dim fs
    Dim f
    Set fs = CreateObject("Scripting.FileSystemObject")
    Set f = fs.GetFile(Application.ActiveWorkbook.Path)
    fileModDate = f.DateLastModified
    Worksheets("Sheet1").Range("A2") = sAuthor & " " & fileModDate
End Sub

我可以将该文件重新保存为统一的名称,如test或其他名称,但我不确定是否可以修改代码以使其正常工作,因此我不必重新保存该文件。

我想我会发布一个答案来结束这篇文章

Sub Main()
    'Setting Summary Report

    'Last author
    Dim sAuthor As String
    sAuthor = ActiveWorkbook.BuiltinDocumentProperties("Last Author")

    'Last modified time
    Dim fso As Object
    Set fso = CreateObject("Scripting.FileSystemObject")

    Dim file As Object
    Set file = fso.GetFile(ActiveWorkbook.FullName)

    Dim fileModDate As String
    fileModDate = file.DateLastModified

    'Updating range to last author and modified time
    Worksheets("Sheet1").Range("A2").Value2 = sAuthor & " " & fileModDate

End Sub

您需要更改“GetFile”参数-其中缺少文件名。请尝试以下操作:“Application.ActiveWorkbook.Path&“\”&ActiveWorkbook.Name”您必须改为执行
ActiveWorkbook.FullName
.Path
不包含文件名谢谢,修改后的代码将使用动态名称。谢谢你们,你们可以用我的答案