如果今天修改了.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
编辑:添加了错误位置。
首先,您说的是变量文件的类型为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)
问题是\
中的尾随file = ThisWorkbook.Path & "\Logs.txt\"