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

问题描述 投票:0回答:2

如果今天修改了.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

编辑:添加了错误位置。

excel vba
2个回答
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)

-1
投票

问题是\中的尾随file = ThisWorkbook.Path & "\Logs.txt\"

© www.soinside.com 2019 - 2024. All rights reserved.