[英]Getting error 52 on file check but not save as… what am I missing?
我被困住了,多年来我没有做过任何 VBA 并且我没有在编程......我已经阅读了一大堆关于这个错误的资料,或者我错过了解决方案,因为我不明白或者我还没有找到相关的帖子,我无处可去!
关于为什么此代码的最后一行返回错误的任何想法? 运行时错误“52”:错误的文件名或编号
稍后,相同的变量适用于“另存为”,无论文件是否存在,都会发生错误。 我也不能跨过这个错误,如果这有什么不同,我必须把它注释掉,当我试图跨过时,它只会抛出同样的错误。
谢谢!
Sub Macro1()
'
' Macro1
'
Dim OldDateRange As Variant
OldDateRange = Sheets(1).Name
Sheets("Lookup").Select
Cells.Find(What:=OldDateRange, After:=ActiveCell, LookIn:= _
xlFormulas, LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:= _
xlNext, MatchCase:=False, SearchFormat:=False).Activate
ActiveCell.Offset(1, 0).Range("A1").Select
Dim NewDateRange As Variant
NewDateRange = ActiveCell.Value
Dim NewFile As Variant
NewFile = "https://mywork.sharepoint.com/xxx/Timesheets/Overtime Approval Forms/Overtime approval form " & NewDateRange & ".xlsm"
MsgBox (NewFile)
Dim FileExists As String
FileExists = Dir(NewFile)
感谢评论中的@braX,不是对我正在尝试的东西的修复,而是一种对我有用的不同方法,而不是检查文件的存在,尝试打开文件并使用成功关闭并报告它存在,一个继续创建新文件时出错。 我很欣赏这不适用于特别大的文件,但它非常适合我正在做的事情。
我认为错误发生在您发布的代码的最后一行。 原因是您的 PC 无法识别驱动器“https:”。 变量NewFile
中的路径未映射到您的计算机上。 因此 Dir() function 无法访问它。
顺便说一句,如果您不知道要为其分配哪种类型的数据,则可以使用 Variant 数据类型的变量(尽管不知道自己想要什么似乎很有趣),但不这样做是不好的做法如果将字符串分配给变量,则声明一个字符串。 您留给 VBA 解释的越多,最终出错的机会就越大。 直言不讳,没有人会试图用它吃汤。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.