如果今天修改了txt文件,则Excel VBA退出子

aab*_*aab 0 excel vba

如果今天修改了一个.txt文件(即过去30秒钟以内),我想停止宏,下面是我的代码,但是file = ThisWorkbook.Path & "\Logs.txt\"每当我尝试运行它时,它都会在行上显示错误91 。我想念什么?谢谢。

Sub Calculate()

Dim Fdate As Date
Dim FileInFromFolder As Object
Dim file As Object

file = ThisWorkbook.Path & "\Logs.txt\"

Set FSO = CreateObject("scripting.filesystemobject")

Fdate = file.Int(FileInFromFolder.DateLastModified)

If Fdate = Date Then GoTo eh
Else

'Minimize workbook
ActiveWindow.WindowState = xlMinimized

'Switch to manual calculation of formulae
Application.Calculation = xlManual
ActiveWorkbook.PrecisionAsDisplayed = False
Application.ScreenUpdating = False
Application.DisplayStatusBar = False
Application.EnableEvents = False

Call Backup

Call Move

'Switch to automatic calculation of formulae
Application.Calculation = xlAutomatic
ActiveWorkbook.PrecisionAsDisplayed = True
Application.ScreenUpdating = True
Application.DisplayStatusBar = True
Application.EnableEvents = True

Done:
    Exit Sub
eh:
    ' All errors will jump to here
    MsgBox "error test"
End Sub
Run Code Online (Sandbox Code Playgroud)

编辑:添加了错误位置。

Gee*_*ens 5

首先,您说的是变量文件的类型 Object

Dim file As Object

然后给它分配一个字符串

file = ThisWorkbook.Path & "\Logs.txt\"

这是无效的。

我猜您正在尝试从路径中获取文件对象。

您可以使用创建的FileSystemObject来做到这一点(但未使用)

dim fileName as String
Dim file As Object
Dim FSO as Object

fileName = ThisWorkbook.Path & "\Logs.txt"
set FSO = CreateObject("scripting.filesystemobject")
set file = FSO.GetFile(fileName)
Run Code Online (Sandbox Code Playgroud)