我收到运行时错误“ 52”错误的文件名或数字错误,但是我能看到的所有关于stackoverflow的问题都包含涉及更改代码的答案。问题在于代码使用网络驱动器中的目录,并且网络上的其他计算机上不会发生该错误。
也许值得一提的是,由于复杂性,直到最近我的计算机才没有激活版本的Windows,但是我认为这是导致错误的原因,但是在激活后仍然会发生。
我没有使用Microsoft Visual Basic的经验,也没有编写代码,因此如果您需要更多信息,请询问。
Private Sub Command1769_Click()
Me.Refresh
If Len(Dir("file location" &
[Combo1199], vbDirectory)) = 0 Then
MkDir "file location" &
[Combo1199]
End If
我已经用“文件位置”替换了文件位置的名称,但是我已经检查了它是正确的。 [Combo1199]是目录中已经存在的文件夹的名称,并且其修改日期显示为运行VBA代码时的日期。调试显示问题发生在If Len(...行
已解决问题:由于某些原因,未将DNS服务器设置为自动找到,因此我没有连接到适用的许可证服务器。
答案 0 :(得分:3)
在其他可能的原因中,根据我的经验,当路径有效但不可访问时(例如,用户对其读取权限不足或由于以下原因而无法访问的映射网络驱动器),可能会发生运行时错误52目标处于离线状态。
因此,我建议您使用以下命令将"file location" & [Combo1199]
表示的路径打印到立即窗口(在VBA IDE中使用 Ctrl + G 查看此路径) :
Debug.Print "file location" & [Combo1199]
然后确保您可以使用在代码运行时处于活动状态的相同用户凭据,从同一台PC通过文件资源管理器“手动”访问此位置。